IT Service Vision 2.3 Collector Updates


Contents:

NTSMF Dictionary Updates

Updates to Patrol Support

Character Delimited Support for Generate Source

Collecting SAP R/3 Performance Data

IT Service Vision 2.2.1 Updates

IT Service Vision 2.2 Updates


NTSMF Dictionary Updates

For further information on processing NTSMF data please refer to the Macro Reference guide under the documentation for the %cpproces macro and NTSMF Appendix 1: NTSMF Support Description in the Setup Guide.

Contents:

New NTSMF Tables

After IT Service Vision 2.3 has been installed the following new tables will be available in the supplied dictionary. The tables are created from NT SQL Server, Lotus Notes and SAS NTSMF objects.

NOTE: Due to the limited information that currently seems to be available on the Lotus Notes NTSMF objects it is recommended that you check the data that is processed into these tables to ensure that it is summarized correctly. If you find any discrepancies please contact SAS Technical support with the information, so that we can work with you in improving the quality of these tables.

TABLE NAME TABLE DESCRIPTION
NTAGNTS Windows NT SQLServer:Replication Agents
NTBMNGR Windows NT SQLServer:Buffer Manager - Memory buffers.
NTCMNGR Windows NT SQLServer:Cache Manager - Cache memory.
NTDTBSS Windows NT SQLServer:Databases - Database transaction objects, such as transaction log space and active transactions.
NTLGRDR Windows NT SQLServer:Replication Logreader - Replication logreader agent commands and transactions.
NTLTCHS Windows NT SQLServer:Latches - Latches on internal resources.
NTMMNGR Windows NT SQLServer:Memory Manager
NTMTHDS Windows NT SQLServer:Access Methods - Database objects.
NTQLSRD Windows NT SQLServer:Replication Dist. - Replication distribution agent commands and transactions.
NTSBDVC Windows NT SQLServer:Backup Device
NTSLCKS Windows NT SQLServer:Locks
NTSNPSH Windows NT SQLServer:Replication Snapshot - Snapshot replication activity.
NTSRMRG Windows NT SQLServer:Replication Merge - Merge replication activity and errors.
NTSTTS0 Windows NT SQLServer:SQL Statistics - SQL queries.
NTSTTST Windows NT SQLServer:General Statistics - General server-wide activity, such as the number of currently connected users.
NTUSTBL Windows NT SQLServer:User Settable - User-defined.
NTCLNDR Windows NT Lotus.Notes.Calendar
NTDIIOP Windows NT Lotus.Notes.DIIOP
NTINVNT Windows NT Lotus Notes Disk Inventory
NTLNDMN Windows NT Lotus Notes Domino
NTLNDSK Windows NT Lotus Notes Disk
NTLNMMR Windows NT Lotus Notes Memory
NTLNNLG Windows NT Lotus Notes Network Log
NTLTNML Windows NT Lotus Notes Mail
NTNAGNT Windows NT Lotus Notes Agent
NTNDTBS Windows NT Lotus Notes Database
NTNIMAP Windows NT Lotus.Notes.IMAP
NTNNNTP Windows NT Lotus.Notes.NNTP
NTNPOP3 Windows NT Lotus.Notes.POP3
NTNRPLC Windows NT Lotus Notes Replica
NTNSRVR Windows NT Lotus Notes Server
NTNTWRK Windows NT Lotus Notes Network
NTSAS Windows NT SAS - SAS Version 8 Performance NTSMF object.

Updates to Variable lengths

Many of the existing metrics have had their lengths reviewed and altered. Primarily, this has been done to improve the processing performance and in particular reducing the amount of WORK space required to sort the data. For information on how to update tables that you already have in your PDB, refer to the section below this table.

TABLE NAME VARIABLE NAME OLD LENGTH NEW LENGTH
NTARTMS

 

 

DOMAIN 200 16
MACHINE 200 32
SNARTMS 200 32
NTASPGS

 

DOMAIN 200 16
MACHINE 200 32
NTASPRT

 

 

DOMAIN 200 16
MACHINE 200 32
RASPORT 200 32
NTASTTL

 

DOMAIN 200 16
MACHINE 200 32
NTBFCTR BNCFCTR 200 32
DOMAIN 200 16
MACHINE 200 32
NTBRWSR

 

DOMAIN 200 16
MACHINE 200 32
NTCACHE

 

DOMAIN 200 16
MACHINE 200 32
NTCIND0

 

DOMAIN 200 16
MACHINE 200 32
NTCINDX CNTINDX 200 16
DOMAIN 200 16
MACHINE 200 32
NTCMNGR CCHMNGR 200 16
DOMAIN 200 16
MACHINE 200 32
NTCNCT0 BTCNCTN 200 32
DOMAIN 200 16
MACHINE 200 32
NTCNCTN CNNCTNS 200 16
DOMAIN 200 16
MACHINE 200 32
NTCNTRS DOMAIN 200 16
MACHINE 200 32
NTCONF DOMAIN 32 16
NTDTBS DOMAIN 200 16
DTBS 200 32
MACHINE 200 32
NTEMSMI DOMAIN 200 16
MACHINE 200 32
NTFLTRN DOMAIN 200 16
MACHINE 200 32
NTFSRVR

 

DOMAIN 200 16
MACHINE 200 32
NTFTPSV

 

 

DOMAIN 200 16
FTPSRVC 200 16
MACHINE 200 32
NTGSRVC

 

DOMAIN 200 16
MACHINE 200 32
NTICMP

 

DOMAIN 200 16
MACHINE 200 32
NTIFLTR CNIFLTR 200 32
DOMAIN 200 16
MACHINE 200 32
NTIMAGE DOMAIN 200 16
IMAGE 200 16
MACHINE 200 32
PRADSPC 200 32
NTINTRF DOMAIN 200 16
MACHINE 200 32
NINTRFC 200 32
NTIP

 

DOMAIN 200 16
MACHINE 200 32
NTIRSRC DOMAIN 200 16
EUIRSRC 200 16
MACHINE 200 32
NETBEUI 200 16
NTLCNSN DOMAIN 200 16
MACHINE 200 32
NTLGDSK DOMAIN 200 16
LGCLDSK 200 8
MACHINE 200 32
PHSCDSK 200 8
NTLSRVR

 

DOMAIN 200 16
MACHINE 200 32
NTMMR

 

DOMAIN 200 16
MACHINE 200 32
NTMSEDB DOMAIN 200 16
MACHINE 200 32
MSEXCDB 200 32
NTMSEDS

 

DOMAIN 200 16
MACHINE 200 32
NTMSEES

 

DOMAIN 200 16
MACHINE 200 32
NTMSEIS

 

DOMAIN 200 16
MACHINE 200 32
NTNBEUI DOMAIN 200 16
MACHINE 200 32
NETBEUI 200 16
NTNBIOS DOMAIN 200 16
MACHINE 200 32
WLNBIOS 200 16
NTOBJCT

 

DOMAIN 200 16
MACHINE 200 32
NTPASPC

 

DOMAIN 200 16
IDPRCS 6 8
MACHINE 200 32
PRADSPC 200 32
NTPCMTA DOMAIN 200 16
MACHINE 200 32
MSPCMTA 200 16
NTPGNFL DOMAIN 200 16
MACHINE 200 32
PGNGFL 200 16
NTPHDSK DOMAIN 200 16
MACHINE 200 32
PHSCDSK 200 8
NTPNTM DOMAIN 200 16
MACHINE 200 32
PENTIUM 200 16
NTPRCS DOMAIN 200 16
MACHINE 200 32
PROCESS 200 16
NTPRCSR DOMAIN 200 16
MACHINE 200 32
PRCSR 200 16
NTPRTCL DOMAIN 200 16
IPRTCLS 200 32
MACHINE 200 32
NTPSCCH DOMAIN 200 16
MACHINE 200 32
NTPSRV0 DOMAIN 200 16
MACHINE 200 32
NTPSRVC

 

DOMAIN 200 16
MACHINE 200 32
NTPSRVR

 

DOMAIN 200 16
MACHINE 200 32
NTQLSLG DOMAIN 200 16
MACHINE 200 32
SQLSRLG 200 32
NTRADSR

 

DOMAIN 200 16
MACHINE 200 32
NTRDRCT

 

DOMAIN 200 16
MACHINE 200 32
NTSEIMC

 

DOMAIN 200 16
MACHINE 200 32
NTSEMTA

 

DOMAIN 200 16
MACHINE 200 32
NTSEWEB

 

DOMAIN 200 16
MACHINE 200 32
NTSGLBL

 

DOMAIN 200 16
MACHINE 200 32
NTSGMNT DOMAIN 200 16
MACHINE 200 32
NTSGMNT 200 32
NTSLCKS

 

DOMAIN 200 16
MACHINE 200 32
NTSPBLC

 

DOMAIN 200 16
MACHINE 200 32
NTSPCCH

 

DOMAIN 200 16
MACHINE 200 32
NTSPRVT

 

DOMAIN 200 16
MACHINE 200 32
NTSRPDB DOMAIN 200 16
MACHINE 200 32
QLSRPDB 200 32
NTSRVR

 

DOMAIN 200 16
MACHINE 200 32
NTSRWQS

 

 

DOMAIN 200 16
MACHINE 200 32
SRVWRQS 200 16
NTSSRVC

 

DOMAIN 200 16
MACHINE 200 32
NTSSRVR

 

DOMAIN 200 16
MACHINE 200 32
NTSSTM

 

DOMAIN 200 16
MACHINE 200 32
NTSUSRS

 

 

DOMAIN 200 16
MACHINE 200 32
QLSUSRS 200 16
NTTCP

 

DOMAIN 200 16
MACHINE 200 32
NTTDTLS

 

 

 

DOMAIN 200 16
MACHINE 200 32
PRADSPC 200 32
THRDTLS 200 16
NTTHRD

 

 

 

 

DOMAIN 200 16
IDPRCS 6 8
MACHINE 200 32
PROCESS 200 16
THREAD 200 16
NTTLPHN

 

DOMAIN 200 16
MACHINE 200 32
NTUDP

 

DOMAIN 200 16
MACHINE 200 32
NTWLIPX

 

 

DOMAIN 200 16
MACHINE 200 32
NWLNIPX 200 16
NTWLSPX

 

 

DOMAIN 200 16
MACHINE 200 32
NWLNSPX 200 16
NTWSRVC

 

 

DOMAIN 200 16
MACHINE 200 32
WBSRVC 200 16

The %CPDDUTL macro control statement MAINTAIN TABLE will not migrate over the variable length changes from the supplied dictionary to your DICTLIB. Instead, I have included some code below that will make all of the above changes (if necessary). All you need to do is :-

  1. As always make sure that you have a current backup of your PDB.
  2. Either interactively or in batch make sure that the PDB that you wish to update is active and in WRITE mode.
  3. Edit the following code so that only the tables you need to update are included. If you require more information on the %CPDDUTL macro and the control statements please refer to the Macro Reference.
  4. Submit the following code from the program editor window (interactively) or immediately after your %CPSTART (in batch)

 

%cpcat;
cards4;
update table name=NTARTMS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=SNARTMS
    length=32 ;

update table name=NTASPGS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTASPRT ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=RASPORT
    length=32 ;

update table name=NTASTTL ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTBFCTR ;
  update variable name=BNCFCTR
    length=32 ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTBRWSR ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTCACHE ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTCIND0 ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTCINDX ;
  update variable name=CNTINDX
    length=16 ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTCMNGR ;
  update variable name=CCHMNGR
    length=16 ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTCNCT0 ;
  update variable name=BTCNCTN
    length=32 ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTCNCTN ;
  update variable name=CNNCTNS
    length=16 ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTCNTRS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTCONF ;
  update variable name=DOMAIN
    length=16 ;

update table name=NTDTBS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=DTBS
    length=32 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTEMSMI ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTFLTRN ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTFSRVR ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTFTPSV ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=FTPSRVC
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTGSRVC ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTICMP ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTIFLTR ;
  update variable name=CNIFLTR
    length=32 ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTIMAGE ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=IMAGE
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=PRADSPC
    length=32 ;

update table name=NTINTRF ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=NINTRFC
    length=32 ;

update table name=NTIP ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTIRSRC ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=EUIRSRC
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=NETBEUI
    length=16 ;

update table name=NTLCNSN ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTLGDSK ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=LGCLDSK
    length=8 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=PHSCDSK
    length=8 ;

update table name=NTLSRVR ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTMMR ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTMSEDB ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=MSEXCDB
    length=32 ;

update table name=NTMSEDS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTMSEES ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTMSEIS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTNBEUI ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=NETBEUI
    length=16 ;

update table name=NTNBIOS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=WLNBIOS
    length=16 ;

update table name=NTOBJCT ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTPASPC ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=IDPRCS
    length=8 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=PRADSPC
    length=32 ;

update table name=NTPCMTA ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=MSPCMTA
    length=16 ;

update table name=NTPGNFL ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=PGNGFL
    length=16 ;

update table name=NTPHDSK ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=PHSCDSK
    length=8 ;

update table name=NTPNTM ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=PENTIUM
    length=16 ;

update table name=NTPRCS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=PROCESS
    length=16 ;

update table name=NTPRCSR ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=PRCSR
    length=16 ;

update table name=NTPRTCL ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=IPRTCLS
    length=32 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTPSCCH ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTPSRV0 ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTPSRVC ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTPSRVR ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTQLSLG ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=SQLSRLG
    length=32 ;

update table name=NTRADSR ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTRDRCT ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSEIMC ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSEMTA ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSEWEB ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSGLBL ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSGMNT ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=NTSGMNT
    length=32 ;

update table name=NTSLCKS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSPBLC ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSPCCH ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSPRVT ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSRPDB ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=QLSRPDB
    length=32 ;

update table name=NTSRVR ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSRWQS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=SRVWRQS
    length=16 ;

update table name=NTSSRVC ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSSRVR ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSSTM ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTSUSRS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=QLSUSRS
    length=16 ;

update table name=NTTCP ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTTDTLS ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=PRADSPC
    length=32 ;
  update variable name=THRDTLS
    length=16 ;

update table name=NTTHRD ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=IDPRCS
    length=8 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=PROCESS
    length=16 ;
  update variable name=THREAD
    length=16 ;

update table name=NTTLPHN ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTUDP ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;

update table name=NTWLIPX ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=NWLNIPX
    length=16 ;

update table name=NTWLSPX ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=NWLNSPX
    length=16 ;

update table name=NTWSRVC ;
  update variable name=DOMAIN
    length=16 ;
  update variable name=MACHINE
    length=32 ;
  update variable name=WBSRVC
    length=16 ;
;;;;
%cpcat(cat=work.temp.temp.source);
%cpddutl(entrynam=work.temp.temp.source);


Updates to Patrol Support

Contents:

 

Support for BMC Patrol SAP R/3 KM

The following is a typical "header" record in the SAP R/3 KM history file (based on version 2.2 of the KM).

prod010/R3_PERF_BUF.Buffers.CUA.prodxx_P01_02/BufferQuality

prod010 Machine name  
R3_PERF_BUF Application class  
Buffer.CUA Nested Application class 'Buffer' is the application class and within it CUA describes the type of buffer.
prodxx_P01_02 R/3 Instance An instance defines the resource needed by a SAP application server , such as memory configuration, number and type of services provided (work processes), and so on. Every R/3 instance has its own memory buffers and is controlled by a single dispatcher process. R/3 instances are identified with and instance name , normally with the syntax <hostname>_<SID>_<system number>.R/3 instances are created when the R/3 system is installed and also when installing additional dialog servers.
BufferQuality Parameter name  

SID - SAP system identification

Many of the parameters that are encountered in the KM history files are Alerts. For the purposes of this document, these are not going to be supported by IT Service Vision. Performance and workload statistics are to be processed by IT Service Vision.

The following new tables are available in the supplied dictionary.

TABLE NAME APPLICATION CLASSES IN TABLE BY LIST
PTR3BUF R3_PERF_BUF.Buffers.CUA
R3_PERF_BUF.Buffers.Field_Catal
R3_PERF_BUF.Buffers.Generic_Key
R3_PERF_BUF.Buffers.Initial_Rec
R3_PERF_BUF.Buffers.Program
R3_PERF_BUF.Buffers.Screen
R3_PERF_BUF.Buffers.ShortNameTab
R3_PERF_BUF.Buffers.Single_Key
R3_PERF_BUF.Buffers.Table_Descr
MACHINE
SID
SYSNUM
DURGRP
DATETIME
HOUR
SHIFT
PTR3PWP R3_PERF_WP_DIALOG.WP_Perf.Dialog
R3_PERF_WP_JOBS.WP_Perf.Jobs
R3_PERF_WP_SPOOL.WP_Perf.Spool
R3_PERF_WP_UPDATE.WP_Perf.Update
MACHINE
SID
SYSNUM
TASK
DURGRP
DATETIME
HOUR
SHIFT
PTR3WP R3_WP_BATCH
R3_WP_DIALOG
R3_WP_ENQUEUE
R3_WP_SPOOL
R3_WP_SPOOL
R3_WP_UPDATE
R3_WP_UPDATE2
MACHINE
SID
SYSNUM
TASK
DURGRP
DATETIME
HOUR
SHIFT
PTR3SYS R3_NT_CPU
R3_NT_MEMORY
R3_NT_SWAP
R3_UNIX_CPU
R3_UNIX_MEMORY
R3_UNIX_SWAP
MACHINE
SID
SYSNUM
DURGRP
DATETIME
HOUR
SHIFT
PTR3FS R3_UNIX_FILESYS
R3_NT_FILESYS
MACHINE
SID
SYSNUM
FILESYS
DURGRP
DATETIME
HOUR
SHIFT
PTR3FIL R3_PERF_PAGING_FILE
R3_PERF_ROLL_FILE
MACHINE
SID
SYSNUM
FILTYPE
DURGRP
DATETIME
HOUR
SHIFT
PTR3DPQ R3_PERF_DISPQ_DIALOG.Disp_Queue.Dialog
R3_PERF_DISPQ_ENQUEUE.Disp_Queue.Enqueue
R3_PERF_DISPQ_JOBS.Disp_Queue.Jobs
R3_PERF_DISPQ_SPOOL.Disp_Queue.Spool
R3_PERF_DISPQ_Update.Disp_Queue.Update
R3_PERF_DISPQ_Update2.Disp_Queue.Update2
MACHINE
SID
SYSNUM
TASK
DURGRP
DATETIME
HOUR
SHIFT
PTR3ENQ R3_PERF_ENQUEUE1.Enqueue.Enqueue1
R3_PERF_ENQUEUE2.Enqueue.Enqueue2
MACHINE
SID
SYSNUM
ENQTYPE
DURGRP
DATETIME
HOUR
SHIFTS

 

Performance Enhancements

Due to the peculiarities of the raw Patrol data the staging of that data into a PDB will be a resource intensive activity. However, several changes have been made to the table definitions and the staging code to improve the performance of staging of the data.

Performance was improved in two areas, a reduction in SASWORK space required and also elapsed time (CPU and IO).

The examples given below are based on a small test on Unix using some sample data. Your results may be different, however I would expect that you would see similar improvements.

Processing Updates

The new staging code will process the Patrol data slightly differently to the original support, and will result in slightly different data in the PDB.

In the original staging code a value for the duration of the first data record was always approximated by examining the intervals for the following records. The advantage of doing this meant that duration was not set to a missing value and that data record would be included in the reduction processing. The disadvantages were that to obtain this one value, required another sort of the data, forced another separate pass of the data and still only provided an approximate value.

With hindsight, the benefits of not estimating the duration of the first record greatly outweighed the disadvantages and resulted in arguably more accurate data.

The result for the user is that you may notice that at the DETAIL level of the PDB there will be observations that have DURATION variable with missing values (although this should be a very small number). Now, if an observation has a missing value for DURATION, any variables that are weighted by duration will not be included in the reduce summarization, however those variables that are not weighted by duration will be included in the summarization.

Updates to Existing Patrol Tables Variable Lengths

Many of the existing metrics have had their lengths reviewed and altered. Primarily, this has been done to improve the processing performance and in particular reducing the amount of WORK space required to sort the data. For information on how to update tables that you already have in your PDB, refer to the section below this table.

In addition to MACHINE and DURGRP I have reviewed the instance variables for each table and reduced their length accordingly. Although I have included a list below of what these values were and what they have been changed to, you should review them at your own site to ensure the length I recommend is long enough.

TABLENM VARIABLE NAME OLD LENGTH NEW LENGTH
PTCACHE DURGRP 40 6
MACHINE 200 32
NTCACH 200 12
PTLGDSK DURGRP 40 6
LGLDISK 200 12
MACHINE 200 32
PTMEMRY DURGRP 40 6
MACHINE 200 32
MEMORY 200 12
PTNTCPU DURGRP 40 6
MACHINE 200 32
NTCPU 200 8
PTNTWRK DURGRP 40 6
MACHINE 200 32
NETWRK 200 8
PTPGFLE DURGRP 40 6
MACHINE 200 32
PGEFILE 200 20
PTPHDSK DURGRP 40 6
MACHINE 200 32
PHYLDSK 200 12
PTPRCSS DURGRP 40 6
MACHINE 200 32
NTPRCSS 200 12
PTSCRTY DURGRP 40 6
MACHINE 200 32
SECURTY 200 12
PTSERVR DURGRP 40 6
MACHINE 200 32
SERVER 200 10
PTTHRD DURGRP 40 6
MACHINE 200 32
NTTHRD 200 12
PTUACTP DURGRP 40 6
MACHINE 200 32
PROCES 200 20
PTUAGNT DURGRP 40 6
MACHINE 200 32
OLAGEN 200 12
PTUCPU CPU 200 8
DURGRP 40 6
MACHINE 200 32
PTUDISK DISK 200 8
DURGRP 40 6
MACHINE 200 32
PTUFSTM DURGRP 40 6
FSYSTM 200 20
MACHINE 200 32
PTUKRNL DURGRP 40 6
KERNEL 200 8
MACHINE 200 32
PTULOG DURGRP 40 6
LOG 200 30
MACHINE 200 32
PTUMMRY DURGRP 40 6
MACHINE 200 32
MEMORY 200 8
PTUNFS DURGRP 40 6
MACHINE 200 32
NFS 200 8
PTUNWRK DURGRP 40 6
MACHINE 200 32
NETWORK 200 8
PTUPRCS DURGRP 40 6
MACHINE 200 32
PROCES 200 8
PTUPRTR DURGRP 40 6
MACHINE 200 32
PRINTE 200 12
PTUSMP DURGRP 40 6
MACHINE 200 32
SMP 200 8
PTUSWAP DURGRP 40 6
MACHINE 200 32
SWAP 200 20
PTUUSRS DURGRP 40 6
MACHINE 200 32
USERS 200 12

 

The %CPDDUTL macro control statement will not migrate over the variable length changes from the supplied dictionary to your DICTLIB. Instead, I have included some code below that will make all of the above changes (if necessary). All you need to do is :-

  1. As always, make sure that you have a current backup of your PDB.
  2. Either interactively or in batch make sure that the PDB that you wish to update is active and in WRITE mode.
  3. Edit the following code so that only the tables you need to update are included. If you require more information on the %CPDDUTL macro and the control statements please refer to the Macro Reference.
  4. Submit the following code from the program editor window (interactively) or immediately after your %CPSTART (in batch)

 

%cpcat;
cards4;
update table name=PTCACHE ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=NTCACH
length=12 ;

update table name=PTLGDSK ;
update variable name=DURGRP
length=6 ;
update variable name=LGLDISK
length=12 ;
update variable name=MACHINE
length=32 ;

update table name=PTMEMRY ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=MEMORY
length=12 ;

update table name=PTNTCPU ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=NTCPU
length=8 ;

update table name=PTNTWRK ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=NETWRK
length=8 ;

update table name=PTPGFLE ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=PGEFILE
length=20 ;

update table name=PTPHDSK ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=PHYLDSK
length=12 ;

update table name=PTPRCSS ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=NTPRCSS
length=12 ;

update table name=PTSCRTY ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=SECURTY
length=12 ;

update table name=PTSERVR ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=SERVER
length=10 ;

update table name=PTTHRD ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=NTTHRD
length=12 ;

update table name=PTUACTP ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=PROCES
length=20 ;

update table name=PTUAGNT ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=OLAGEN
length=12 ;

update table name=PTUCPU ;
update variable name=CPU
length=8 ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;

update table name=PTUDISK ;
update variable name=DISK
length=8 ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;

update table name=PTUFSTM ;
update variable name=DURGRP
length=6 ;
update variable name=FSYSTM
length=20 ;
update variable name=MACHINE
length=32 ;

update table name=PTUKRNL ;
update variable name=DURGRP
length=6 ;
update variable name=KERNEL
length=8 ;
update variable name=MACHINE
length=32 ;

update table name=PTULOG ;
update variable name=DURGRP
length=6 ;
update variable name=LOG
length=30 ;
update variable name=MACHINE
length=32 ;

update table name=PTUMMRY ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=MEMORY
length=8 ;

update table name=PTUNFS ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=NFS
length=8 ;

update table name=PTUNWRK ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=NETWORK
length=8 ;

update table name=PTUPRCS ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=PROCES
length=8 ;

update table name=PTUPRTR ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=PRINTE
length=12 ;

update table name=PTUSMP ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=SMP
length=8 ;

update table name=PTUSWAP ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=SWAP
length=20 ;

update table name=PTUUSRS ;
update variable name=DURGRP
length=6 ;
update variable name=MACHINE
length=32 ;
update variable name=USERS
length=12 ;
;;;;
%cpcat(cat=work.temp.temp.source);
%cpddutl(entrynam=work.temp.temp.source);

 

Updates to Existing Patrol Tables Class Lists

The DURGRP variable has been removed from the reduction level CLASS lists (DAY, WEEK, MONTH, YEAR). Removing this variable from the class list is recommended as it makes the reporting of the data much easier.

The table class list can be altered either interactively or in batch using the %CPDDUTL macro and the UPDATE TABLE control statement. As always, ensure that you have a backup of the PDB prior to making any changes.


Character Delimited Support for Generate Source

Introduction

The GENERATE SOURCE functionality of the %CPDDUTL macro has been enhanced to allow customers to generate a ‘first cut’ of table and variable definitions for data sources directly from the raw data.

NOTE: Generate Source is more strict than %CxPROCES in terms of how the CDC data is presented to it, however this should not be a problem as typically generating table and variable source is not a daily event and the data can be manipulated to meet the requirements.

Requirements

Example

The following is an example of how this facility can be used. Please refer to the IT Service Vision Macro Reference documentation for more information on the parameters to use with the GENERATE SOURCE control statement.

The data :-

        machine,date,time,cpu utilization,value pct,i/o per sec,device name,average val,max val,min val,
        tom,01JAN2000,01:00:00,0.5,20,6,devHarry,5,7,2,
        tom,01JAN2000,01:05:00,0.6,21,7,devHarry,6,8,5,
        tom,01JAN2000,01:10:00,0.7,22,8,devHarry,7,8,8,
        tom,01JAN2000,01:15:00,0.8,23,9,devHarry,8,9,8,
        tom,01JAN2000,01:20:00,0.9,24,10,devHarry,9,3,6,
        tom,01JAN2000,01:25:00,0.0,25,11,devHarry,10,7,4,

The above data is only intended to illustrate the CDC support of Generate Source.

Start up IT Service Vision and submit the following code from the program editor;

        %cpcat;
        cards4;
        generate source infile='c:\rawdata\cdctest.data'
                        intype=cdc
                        type=interval
                        delim=','
                        name=utest
                        filename='c:\temp\ddutl.txt';
        ;;;;
        %cpcat(cat=work.temp.temp.source);
        %cpddutl(entrynam=work.temp.temp.source);

The output of the above code is a file in c:\temp called ddutl.txt that contains table and variable definitions that will allow you to process the CDC data. The table and variable definitions that are created should be reviewed and modified if necessary. They are included below for your reference. For more information on 'Interpretation Types' please refer to the How To/Macro help.

        /*--------------------------------------------------------------*
        | Table definition statements generated on 24MAR2000:16:32:13.25
        | For PDB table.....: UTEST
        | Table type........: INTERVAL
        | Now sorted by.....:
        | Will be sorted by.:
        *--------------------------------------------------------------*/
      
        DELETE TABLE NAME=UTEST NOERROR ;
        CREATE TABLE NAME=UTEST
        COLLECTOR='GENERIC' TOOLNAME=CHARDELIM TYPE=INTERVAL KEPT=YES
        EXTNAME='CDCTABLE' IDNUM=0
        LABEL='CDC Table' ARCHIVE=NO
        DESCRIPTION='CDC Table'
        DETAIL=(agelimit=10 )
        DAY=(agelimit=45 )
        WEEK=(agelimit=15 )
        MONTH=(agelimit=18 )
        YEAR=(agelimit=5 ) ;
      
        /*----------------------------------------------------------*
        | Variable definitions for table: UTEST
        *----------------------------------------------------------*/
      
        CREATE VARIABLE NAME=MACHINE EXTNAME='machine'
        SUBJECT='N/A' LABEL='machine'
        DESCRIPTION='machine'
        FORMAT=. OID=. IDNUM=.
        INTERPRET=STRING LENGTH=32
        TYPE=CHARACTER KEPT=YES
        ;
      
        CREATE VARIABLE NAME=DATE EXTNAME='date'
        SUBJECT='N/A' LABEL='date'
        DESCRIPTION='date'
        FORMAT=DATE9. OID=. IDNUM=.
        INTERPRET=DATE LENGTH=8
        TYPE=NUMERIC KEPT=YES
        INFORMAT=DATE9.
        ;
      
        CREATE VARIABLE NAME=TIME EXTNAME='time'
        SUBJECT='N/A' LABEL='time'
        DESCRIPTION='time'
        FORMAT=TIME12.2 OID=. IDNUM=.
        INTERPRET=TIME LENGTH=8
        TYPE=NUMERIC KEPT=YES
        INFORMAT=TIME8.
        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
        )
        ;
        
        CREATE VARIABLE NAME=CUTLZTN EXTNAME='cpu utilization'
        SUBJECT='N/A' LABEL='cpu utilization'
        DESCRIPTION='cpu utilization'
        FORMAT=PERCENT9.2 OID=. IDNUM=.
        INTERPRET=PERCENT LENGTH=6
        TYPE=NUMERIC KEPT=YES
        ISTATS =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        DAY =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        WEEK =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        MONTH =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        YEAR =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        ;
        
        CREATE VARIABLE NAME=VLPCT EXTNAME='value pct'
        SUBJECT='N/A' LABEL='value pct'
        DESCRIPTION='value pct'
        FORMAT=6.2 OID=. IDNUM=.
        INTERPRET=PERCENT100 LENGTH=6
        TYPE=NUMERIC KEPT=YES
        ISTATS =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        DAY =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        WEEK =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        MONTH =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        YEAR =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        ;
        
        CREATE VARIABLE NAME=IOPRSEC EXTNAME='i/o per sec'
        SUBJECT='N/A' LABEL='i/o per sec'
        DESCRIPTION='i/o per sec'
        FORMAT=BEST12.2 OID=. IDNUM=.
        INTERPRET=RATE LENGTH=8
        TYPE=NUMERIC KEPT=YES
        ISTATS =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        DAY =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        WEEK =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        MONTH =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        YEAR =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        ;
      
        CREATE VARIABLE NAME=DVCNAME EXTNAME='device name'
        SUBJECT='N/A' LABEL='device name'
        DESCRIPTION='device name'
        FORMAT=. OID=. IDNUM=.
        INTERPRET=STRING LENGTH=200
        TYPE=CHARACTER KEPT=YES
        ;
      
        CREATE VARIABLE NAME=AVRGVAL EXTNAME='average val'
        SUBJECT='N/A' LABEL='average val'
        DESCRIPTION='average val'
        FORMAT=BEST12.2 OID=. IDNUM=.
        INTERPRET=AVERAGE LENGTH=8
        TYPE=NUMERIC KEPT=YES
        ISTATS =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        DAY =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        WEEK =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        MONTH =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        YEAR =(
        NOCOUNT NOSUM AVERAGE NOMAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        ;
      
        CREATE VARIABLE NAME=MAXVAL EXTNAME='max val'
        SUBJECT='N/A' LABEL='max val'
        DESCRIPTION='max val'
        FORMAT=BEST12.2 OID=. IDNUM=.
        INTERPRET=MAXIMUM LENGTH=8
        TYPE=NUMERIC KEPT=YES
        ISTATS =(
        NOCOUNT NOSUM NOAVERAGE MAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        DAY =(
        NOCOUNT NOSUM NOAVERAGE MAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        WEEK =(
        NOCOUNT NOSUM NOAVERAGE MAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        MONTH =(
        NOCOUNT NOSUM NOAVERAGE MAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        YEAR =(
        NOCOUNT NOSUM NOAVERAGE MAXIMUM NOMINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        ;
      
        CREATE VARIABLE NAME=MINVAL EXTNAME='min val'
        SUBJECT='N/A' LABEL='min val'
        DESCRIPTION='min val'
        FORMAT=BEST12.2 OID=. IDNUM=.
        INTERPRET=MINIMUM LENGTH=8
        TYPE=NUMERIC KEPT=YES
        ISTATS =(
        NOCOUNT NOSUM NOAVERAGE NOMAXIMUM MINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        DAY =(
        NOCOUNT NOSUM NOAVERAGE NOMAXIMUM MINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        WEEK =(
        NOCOUNT NOSUM NOAVERAGE NOMAXIMUM MINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        MONTH =(
        NOCOUNT NOSUM NOAVERAGE NOMAXIMUM MINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        YEAR =(
        NOCOUNT NOSUM NOAVERAGE NOMAXIMUM MINIMUM NOUSS NOCV NORANGE
        NOVARIANCE NOSTD NONMISS
        )
        ;
      
        CREATE VARIABLE NAME= HOUR
        EXTNAME='HOUR'
        LABEL='Hour of day'
        DESCRIPTION='Hour_of_day'
        KEPT=YES VALIDITY=. INTERPRET=INT TYPE=NUMERIC
        LENGTH=4 FORMAT=2. INFORMAT=. IDNUM=.
        OID= .
        SUBJECT='N/A' ;
      
        CREATE VARIABLE NAME= SHIFT
        EXTNAME='SHIFT'
        LABEL='Operations shift'
        DESCRIPTION='Operations_shift'
        KEPT=YES VALIDITY=. INTERPRET=STRING TYPE=CHARACTER
        LENGTH=1 FORMAT=. INFORMAT=. IDNUM=.
        OID= .
        SUBJECT='N/A' ;
      
        /*--------------------------------------------------------------*
        | By, Class, ID, and Index variable lists for table: UTEST
        *--------------------------------------------------------------*/
      
        UPDATE TABLE NAME= UTEST
        DETAIL =(
        BYVARS= ' DATETIME HOUR SHIFT'
        )
        DAY =(
        CLASSVARS= ' DATETIME HOUR SHIFT'
        )
        WEEK =(
        CLASSVARS= ' DATETIME HOUR SHIFT'
        )
        MONTH =(
        CLASSVARS= ' DATETIME HOUR SHIFT'
        )
        YEAR =(
        CLASSVARS= ' DATETIME HOUR SHIFT'
        )
        ;

Collecting SAP R/3 Performance Data

This SAP R/3 documentation has been superceded with a newer version that was shipped in IT Service Vision 2.5. To go there, click here.