Comparison statistics are generated when comparing members with COMPARE-
ELEMENT. COMPARE-ELEMENT stores these comparison statistics in an internal
memory area C0. After execution of the COMPARE-ELEMENT statement, C0 is added to area C1. C0 is reinitialized before COMPARE-ELEMENT is executed again.
The SHOW-STATISTICS statement outputs these comparison statistics. To permit this, the number of the area must be specified.
SHOW-STATISTICS | ||||||||||||||||||||||||||||||||||||||||
|
NUMBER = *C0 / *C1
Number of the area to be output:
*C0: | area containing the statistics for the current comparison. |
*C1: | area containing the overall statistics for all the comparisons performed thus far in |
HEADER-LINE = *NONE / <c-string 1..132>
It is possible to control whether or not a user-specific header (<c-string>) is output. By default no user-specific header is output.
TEXT-OUTPUT = *LOGGING-PARAMETERS / *NONE / *SYSOUT / *SYSLST(...) / *EDT(...)
Controls the log output.
TEXT-OUTPUT = *LOGGING-PARAMETERS
The log is output to the output medium specified with MODIFY-LOGGING-PARAMETERS TEXT-OUTPUT=.
TEXT-OUTPUT = *NONE
The log output is suppressed, apart from error messages.
TEXT-OUTPUT = *SYSOUT
The output is written to SYSOUT.
TEXT-OUTPUT = *SYSLST(...)
The output is written to SYSLST.
SYSLST-NUMBER = *STD / <integer 1..99>
Determines the SYSLST file to which the output is to be written.
SYSLST-NUMBER = *STD
The system file SYSLST is used.
SYSLST-NUMBER = <integer 1..99>
The system file with the specified number from the set SYSLST01 through SYSLST99 is used.
TEXT-OUTPUT = *EDT(...)
Output is to the work file 9 of EDT. If an error occurs during log output, then the system switches to the default output stream (SYSOUT).
WRITE-MODE = *EXTEND / *REPLACE
Write mode of the output in relation to the contents of work file 9.
WRITE-MODE = *EXTEND
If data exists in work file 9, the output will be added to this data. If there is no data in the file, the output will be written at the beginning of the file.
WRITE-MODE = *REPLACE
The output will be written at the beginning of work file 9. Any data that is already in the file will be replaced.
STRUCTURE-OUTPUT = *SYSINF / *NONE / <composed-name 1..255>(...)Structured output.
STRUCTURE-OUTPUT = *SYSINF
The structured output is placed in the SYSINF stream assigned by means of ASSIGN-STREAM (see the [12 (Related publications)]).
STRUCTURE-OUTPUT = *NONE
There is no structured output.
STRUCTURE-OUTPUT = <composed-name 1..255>(...)
Specifies the S variable in which the structured output is to be placed. This variable must be declared as a dynamic list variable.
(Command: DECLARE-VARIABLE NAME =...(TYPE=*STRUCTURE), MULTIPLE-ELEMENTS=*LIST
)
WRITE-MODE = *REPLACE / *EXTEND
Specifies whether the structured output is to be appended to any existing data in the list variable or it to be written over it.
WRITE-MODE = *REPLACE
Overwrites any existing data in the list variable.
WRITE-MODE = *EXTEND
Appends the new list members to the existing list, if any.
The individual variable members are described in chapter "Format of LMS output in Svariables" (8 Format of LMS output in S variables).
Statement return code
(SC2) | SC1 | Maincode | Meaning |
| 0 | CMD0001 | No error |
Required access rights
No access rights are necessary.
Notes
The maximum value for element-count fields is 99,999. For line-count fields, it is 999,999,999.
On SYSOUT, LMS shows up to 8 digits if the value is less than 100 millions, otherwise it shows the value in exponential notation, e.g. 12345E+4. The exact values can be obtained from the structured output into an S variable or from text output to SYSLST, EDT or a library member.
If the 9-digit limit overflows, the message LMS0313 will be shown and the affected counters will continue counting modulo 109.
Example
The S variable C1 was declared as follows:
/DECL-VARIABLE C1(TYPE=*STRUCTURE),MULTIPLE-ELEMENTS=*LIST
Two comparisons have been performed. Memory C0 contains the result of the last comparison, memory C1 contains the totals for the comparisons performed thus far.
//SHOW-STATISTICS NUMBER=*C0 AREA C0 PRIM. PRIM. INS. SAME DEL. INS+DEL SEC. SEC STATISTIC ELEM. LINES LINES LINES LINES LINES LINES ELEM. S (SAME) 0 0 - 0 - - 0 0 C (CHANGED) 1 5 5 0 9 14 9 1 I (INSERTED) 0 0 0 - - 0 - - D (DELETED) - - - - 0 0 0 0 -------------------------------------------------------------------------- TOTAL 1 5 5 0 9 14 9 1 //SHOW-STATISTICS NUMBER=*C1, STRUCTURE-OUTPUT=C1, TEXT-OUTPUT=*NONE
Structure C1 can be viewed with /SHOW-VARIABLE C1#1
:
C1(*LIST).SAME.NUM-OF-PRIMARY = 5 C1(*LIST).SAME.NUM-OF-SECONDARY = 5 C1(*LIST).SAME.LINE.PRIMARY = 37 C1(*LIST).SAME.LINE.INS = 0 C1(*LIST).SAME.LINE.SAME = 37 C1(*LIST).SAME.LINE.DEL = 0 C1(*LIST).SAME.LINE.SECONDARY = 37 C1(*LIST).CHA.NUM-OF-PRIMARY = 0 C1(*LIST).CHA. ..... ..... C1(*LIST).DEL.LINE.SECONDARY = 0 C1(*LIST).TOTAL.NUM-OF.PRIMARY = 7 C1(*LIST).TOTAL.NUM-OF.SECONDARY = 5 C1(*LIST).TOTAL.LINE.PRIMARY = 47 C1(*LIST).TOTAL.LINE.INS = 10 C1(*LIST).TOTAL.LINE.SAME = 37 C1(*LIST).TOTAL.LINE.DEL = 0 C1(*LIST).TOTAL.LINE.SECONDARY = 37