X GT 1.2E19 for shifted, or
otherwise input as unshifted PIB8.
If STK ever puts a version number in their record, this
heuristic will be removed.
The media size variables are now formatted MGBYTES and
the VPOs to HEX. See also Changes 17.195 and 17.332.
Mar 16: The low four bytes of VTV timestamp now create
STCxxSEQ, STCxxHID, STCxxVTI, and STCxxFLG for subtypes
13, 14, 18, and 19 thanks to STK documentation.
Change 18.034 Support for Oracle Version 7.3.3. INCOMPATIBLE. The SMF
VMACORAC record with CONNID=CICS have KERNNUM=0, but it should be
Mar 10, 2000 KERNNUM=1 because there is a valid Kernel segment in the
record. When KERNNUM=0, MXG does not read the kernel
segment, causing missing values for all kernel variables.
Now, MXG detects and corrects the Oracle error and will
read a Kernel segment even if the count field is wrong.
This error has been reported to Oracle.
An additional problem is being investigated: CPUTCBTM and
CPUSRBTM fields are zero with the 7.3.3 release, and so
far, Oracle has no knowledge of any change, but this text
will be updated when more is known.
Thanks to Yvonne McDonough, USDA NITC, USA.
Thanks to Leslie Arndt, USDA NITC, USA.
Change 18.033 Member ASUMTAPE was finally tested under ITSV and it too
ASUMTAPE contained hardcode references to PDB.xxxxxxxx that are
Mar 10, 2000 now changed to their &PDBMXG..xxxxxxxx symbolic names.
Change 18.032 Support for Netview NPM V2R5 changes and two MXG errors.
EX028INK -MXG error: VCD segment was not input for 'DC' or 'DE'.
EX028INL It would have helped if IBM and documented those subtypes
EX028INM in NPM 2.4 tables 73/74 or NPM 2.5 tables 80/81! Change
FORMATS to ELSE IF 0D0X LE NPMSUBTY LE 0DEX THEN COFTYPE='VCD';
IMAC28 -MXG error: VCS segment has two flavors, and the last 4
VMAC28 variables, VCSMAXFX/CURFX/MAXEC/CUREC are now input only
VMXGINIT if VCSVDTYP=2; MXG code was restructured for VCS segment.
Mar 10, 2000 -IBM error: APAR OW37758 for NPM 2.4 corrected error in
subtype DDx record, but that APAR is not included in the
NPM 2.5 release: new APAR AW43578 documents the error.
Change 16.336's circumvention still works to protect 2.5.
-New datasets from new subtypes:
Subtype Exit Dataset Description
14x 028INK NPMINNRT Router Interval
15x 028INL NPMINNRP Cisco Pool Interval
16x 028INM NPMINNIT Router Interface Interval
-The NCD and SCD segments' logic was revised to only input
the IP address for IP resource, and not input SLUNAME,
SLUPU, SLNKNAME and NPMNAME for IP resource type.
Thanks to Jerome Vitner, Experian Information Solutions, USA.
Thanks to Cendrine Pezier, ABS Technologies, FRANCE.
Change 18.031 Uninitialized variable messages for MROTRAN and DB2TRAN
ASUMUOW caused no actual problem, but they are now initialized in
Mar 9, 2000 the first DO; loop in the last DATA step.
Thanks to Freddie Arie, Texas Utilities, USA.
Change 18.030 IMS Log processing with APPC transactions caused negative
ASMIMSL5 SERVICTM and N+1 rather than N transactions per schedule.
ASMIMSL6 After label P031, after USING statement, insert:
Mar 9, 2000 TM QLGUFLGX,QLGUAPPC APPC?
BO DROPMAP SKIP APPC REDUNDANT 31
This has only been tested with IMS 5.1 data. If you have
APPC under IMS 6.1 and have validated this change, or if
you find any problems under IMS 6.1, please contact MXG.
Thanks to Kenneth D. Jones, ISM, CANADA.
Thanks to Carl Meredith, SAS Institute ITSV, USA.
Change 18.029 Variables were labeled, times were re-formatted and the
VMACMIM label (MS) was removed and fields divided by 1000 to put
Mar 3, 2000 durations in units of TIME13.3.
Mar 6, 2000 Mar 6: Uninit variable messages MIMCELL-MIMVCF were in
first 18.01, but had no impact. Variable MIMMPOS is now
labeled and variables MIMADTCR/MIMHDTCR/MIMATMCR/MIMHTMCR
are no longer kept
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 18.028 Partition Data Report was updated for APAR OW37565, in
ANALRMFR the body of the Partition Report, where 'CP ' or 'ICF'
Mar 3, 2000 will be shown for Processor TYPE.
Mar 7, 2000 Mar 7: VMAC75 replaced VMAC71,VMAC77 in line 938.
Change 18.027 APAR OW41317 retrofits the OS/390 R2.9 multi-system
VMAC7072 enclave support (which added data fields in type 72)
Mar 3, 2000 back to OS/390 R2.7. Change 17.385, in MXG 17.17 and
later already supports those fields; this change is
only for documentation; no change was made.
Change 18.026 Support for APAR OW40414, which adds two four-byte fields
VMAC21 at the end of the record (i.e., compatibly) that replace
Mar 3, 2000 the existing two-byte fields for SIOCOUNT and BLKSIZE.
Mar 7, 2000
Change 18.025 If you did not put all SuperSession maintenance on, its
VMACNAF SMF record still contains CENT=39 instead of CENT=01
Mar 3, 2000 caused MXG's circumvention algorithm to be off by one
day. Remove the term (CENT-38)*86400 from each of the
datetime adjustments when CENT=39 and Y2K dates after
March 1, 2000 will be correct.
Thanks to Joseph J. Faska, Depository Trust, USA.
Change 18.024 RACF SMF 80 INPUT STATEMENT EXCEEDED RECORD LENGTH error
VMAC80A in RACFTYPE=39 segment (PROGRAM NAMES, PERMIT). The line
Mar 3, 2000 SKIP=RACFDLNN=64-3 must be SKIP=RACFDLN-RACFDLNN-3;
Mar 9, 2000 Mar 9: The debugging PUT statement was deleted.
Mar 14, 2000 Mar14: Variables KW21AU04/05 and KW21GL04/05 formatted.
Change 18.023 SMF70CIN was reread from the same offset, and it should
VMAC7072 have been LENGTH $3 instead of $2, since it contains CP
Mar 3, 2000 or ICF. This error prevented ASUM70PR from recognizing
and removing ICF processors from the CEC capacity.
Change 18.022 Variable DURATM was added to those MIM datasets that
VMACMIM contained start and end time; it previously had been
Mar 3, 2000 kept only in the MIMTAPE dataset, but MXG intends to
keep DURATM in all interval datasets. Only the TYMIM2,
TYMIM4, and TYMIM6 are event datasets. Mar 6 note:
Uninitialized variables messages MIMCELL-MIMVCF are
created but have no impact; labels were removed.
======Changes thru 18.021 were in MXG 18.01 dated Mar 3, 2000======
Change 18.021 APAF Release 4.6 added a new field Series Name to the
VMACAPAF Pool segment, causing the second and subsequent pools'
Mar 1, 2000 data to be trashed. Insert
IF LENPOOL GE 36 THEN INPUT APAFSENM $EBCDIC16. @;
add APAFSENM='SERIES*NAME' to the LABEL, and to the KEEP=
list for dataset APAFPOOL, and then notice and correct
the _KAPAFLC to be _KAPAFPO for the APAFPOOL dataset.
The other APAF data sets appear to have been unchanged
by this release
Thanks to Art Cuneo, Health Care Service Corporation, USA.
Change 18.020 Using MACRO _Ldddddd to add (COMPRESS=YES) did not work,
VMXGDEL but revisions to this %VMXGDEL macro now supports that
Feb 29, 2000 syntax. I had not provided an option for compressing of
a sorted dataset, but redefining the dataset's _L macro:
MACRO _Ldddddd ddname.dataset (compress=yes) %
is now valid for compressing individual datasets.
VMXGDEL now uses PROC DATASETS MT=ALL so that if you
made a SAS dataset to be a SAS view, both will be deleted
Thanks to Alex Torben Nielsen, TeleDanmark EDB, DENMARK.
Thanks to Michael L. Kynch, International Paper, USA.
Change 18.019 The vendor of BETA93 writes non-Y2K-Ready date values in
VMACBETA the BETAJOBT SMFSTAMP8 value, with 00dddF format for Y2K
Mar 1, 2000 with no century bit turned on. The SMFSTAMP8 input was
broken into Time and Date pieces, the Date is now
protected with MXG's DATEJUL algorithm, and BETAJOBT is
then reconstructed from its (protected) pieces.
Thanks to Frank d'Hoine Nationale Bank van Belgie, BELGIUM.
Change 18.018 Variable JOBCLASS in datasets TYPE30xx, PDB.JOBS/STEPS
VMAC30 may be eight blanks, or may have only the first of JES3's
Feb 29, 2000 8-character job class, because IBM changed SMF30CLS, the
old one-byte job class field. Before IBM added SMF30CL8
in 1993, SMF30CLS was INPUT into the 1-byte MXG variable
JOBCLASS. In support for IBM's 8-byte SMF30CL8 field for
JES3, MXG increased JOBCLASS to 8-bytes, read SMF30CLS
into the first byte of JOBCLASS, then input SMF30CL8 into
variable JOBCLAS8, and used this logic to prevent a blank
JOBCLAS8 value from overriding a non-blank JOBCLASS:
IF JOBCLASS LE ' ' AND JOBCLAS8 GT ' '
THEN JOBCLASS=JOBCLAS8;
But now in JES2 R2.8 OS/390 records, SMF30CLS is blank
and SMF30CL8's first byte contains the JES2 jobclass, and
now in JES3 R1.3 OS/390 records, that 1-byte SMF30CLS
field that used to be blank is not blank, so the MXG
logic had to be changed to match the IBM Incompatibility:
IF JOBCLAS8 GT ' ' THEN JOBCLASS=JOBCLAS8;
Variable JOBCLASS is length 8 in TYPE30xx datasets built
by VMAC30 code (because I can't tell if a type 30 record
is from JES2 or JES3), and kept as length 8 in JES3's
BUILDPD3's datasets, but with JES2's BUILDPDB, I can
keep the variable JOBCLASS in only one byte.
Thanks to Allan Koch, Ford Motor Company, USA.
Thanks to Rich Anderson, SAS Institute Cary, USA.
Thanks to Ken Hansen, Exxon, USA.
Change 18.017 The UTILRMFI utility is used to examine any overlap of
UTILRMFI CPU time in your RMFINTRV workload definitions. It has
Feb 29, 2000 been updated to match the VMXGRMFI workloads, and uses
type 30 and type 72 records. See its comments for usage.
Change 18.016 Variable TYPEIOML was blank in dataset TYPE70 because of
VMAC7072 an extraneous line IF SMF70RAN THEN that should have
Feb 26, 2000 been deleted. Fortunately, TYPEIOML is always '3090' and
is unlikely to have been used in any reports!
Thanks to Bill Shanks, SEMA, UK.
Change 18.015 -INPUT EXCEEDED RECORD LENGTH error because the INPUT of
VMAC38 S38CUSER should have been $EBCDIC4. instead of $EBCDIC8.
Feb 25, 2000 -Additionally, TYPE38 failed if you tried to read the VSAM
SMF file because OFFSMF was not added to each offset
calculation.
Thanks to Kenneth D. Jones, ISM, CANADA.
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 18.014 SAS Version 7/8 only. Option CODEPASS=2 no longer exists
BUILD001 in SAS Version 7 or 8; it caused a warning message that
BUIL3001 had no other impact, and CODEPASS=2 itself had no impact
BUILDPDB on MXG, and was only specified to suppress a V6 message
BUILDPD3 that suggested you should try CODEPASS=2! Now it will be
Mar 1, 2000 specified only under SAS V6 execution.
Thanks to Mike Hoey, Ameren Services, USA.
Change 18.013 MXG 17.17 only. Running ASUMTALO under ITSV (or using the
ASUMTALO USER= option to send all of the datasets created during
Feb 25, 2000 ASUMTALO's execution to the same DDname) fails with error
V6: You cannot open WORK.TYPETALO.DATA for output access
with member level control because WORK.TYPETALO.DATA
is in use by resource environment SASEDSNX
V8: MEMBER lock is not available for WORK.TYPETALO.DATA
lock held by another user
because views and datasets of the same name cannot exist
in the same data library. The logic was revised and
temporary dataset/view names that do not conflict are now
used, and SPINTALO is no longer a view to avoid conflict.
Thanks to Sharon L. Nagy, Comerica, USA
Thanks to Robert K. Hare, Comerica, USA
Change 18.012 The calculation of RESPSTD (Std Deviation of Response)
TRND72GO did not protect for TRANS=0 before the divide by TRANS,
Feb 24, 2000 causing DIVIDE BY ZERO note on the log (but the dataset
created was still valid). Now divide is protected.
Thanks to Mike Hoey, Ameren Services, USA.
Change 18.011 The object SNA ADAPTER SnaDlc* caused Unknown Object
VMACNTSM message because MXG was expecting SnaDlc1 as the string.
Feb 24, 2000 The test was changed to SNADLC*, and the label of the
SNAADAPT dataset was also corrected.
-Variables DATABASE and APPLETLK appear in both LENGTH $32
and in INFORMAT 16.2 statements, but the SAS compiler did
not flag the inconsistency. Both were removed from the
numeric INFORMAT statement as they are indeed characters.
Thanks to Richard C. Clarke, Freemans PLC, ENGLAND
Change 18.010 Change 17.343 to ANALDSET causes error message "dataset
ANALDSET _NULL_ is not in the data statement". Change the DATA
Feb 19, 2000 statement and insert the needed _NULL_ so it reads:
DATA _VAR1415 _VAR30 _VAR64 _NULL_ _SMF _CDE1415 _CDE30 _CDE64;
Thanks to Ed Long, Fidelity Investments, USA.
Change 18.009 MXG 17.17 only. Using RMFINTRV under ITSV failed, or use
RMFINTRV of Report PGNs or Reporting Classes to define workloads
VMXGRMFI (either in your IMACWORK definitions, or in your
Feb 18, 2000 tailored %VMXGRMFI invocation your RMFINTRV member)
Feb 25, 2000 caused the error message "CPU TIMES DO NOT MATCH" on the
SAS log during creation of dataset PDB.RMFINTRV.
That error message occurs because either:
- you used the new DROPPGN= or DROPSRV= operands, which
didn't work correctly until this change to VMXGRMFI, or
- you didn't use those new operands, in which case there
was double accounting.
This change corrects VMXGRMFI logic for the new operands.
and now has six operands to make tailoring easier if you
want to use RPGNs/Reporting Classes to define workloads:
USEREPRT= Default NO, set to YES to permit Report PGN
or Reporting Classes to be used.
USECNTRL= Default YES, set to NO to delete all Control
PGNs or Service Classes. This is only used
if you want to use only Report PGN/Classes,
and you don't want to list all of them in the
DROPSRV= or DROPPGN= arguments.
DROPSRV = List of Service Classes to drop.
DROPPGN = List of Control Performance Groups to drop.
DROPRSRV= List of Reporting Classes to drop.
DROPRPGN= List of Report Performance Groups to drop.
To be able to use either Reporting Classes or Report PGNs
to define your workloads in dataset RMFINTRV, you MUST
use these new arguments in your member RMFINTRV's invoke
of VMXGRMFI to drop the Control PGN or Service Class
observations that correspond to the RPGN/Reporting Class
observations you want kept in your workloads, to avoid
double accounting and that error! You must also ensure
that every SUBSYS has a default Report PGN or Reporting
Class so that all work in the corresponding Control
Performance Group or Service Class is recorded in type 72
records.
-RMFINTRV failed when it was finally tested under ITSV
because it contained a hardcode OUTDATA=PDB.RMFINTRV,
in the actual %VMXGRMFI invocation in member RMFINTRV,
but ITSV expected the symbolic &PDBRMFI..RMFINTRV so
that ITSV could redirect to the WORK library. The real
bummer is that that OUTDATA= operand is not needed in the
actual invocation, and was added only as a documentation
example and reminder of the default output dataset name!
Remove that operand from the %VMXGRMFI invocation, and
the expected symbolic value will be used.
-This change also corrects an unrelated problem: when no
PERFGRP number was needed to be specified, a blank value
caused VMXGRMFI to fail. While using a bogus number like
9999 circumvented the problem, now a blank can be used,
but using a null value ( // ) fails. Use / / instead.
Thanks to Normand Poitras, ISM, CANADA.
Thanks to Jon G. Whitcomb, Great Lakes Higher Education Corp, USA.
Change 18.008 Variable NRSAMPLES is now kept in dataset TYPE7204; it is
VMAC7072 used to create several variables and should have been
Feb 17, 2000 kept.
Thanks to Frank Cortell, Credit Suisse Group, USA.
Change 18.007 SPIN logic was revised to correctly pick up class three
ASUMUOW wait times, and DB2ELAP (elapsed time in DB2) was added
Feb 29, 2000 to the final dataset. Previously, if a UOW was SPUN,
the DB2 Wait buckets and transaction counts were not put
in the record in the SPIN dataset.
Thanks to Brandon Persinger, The Gap, USA.
Thanks to Allan Winston, MBNA, USA.
Change 18.006 If the QAPMCONF configuration file has a start date of
VMACQAPM 02Sep99, records from this century will have dates in
Feb 16, 2000 year 1900 instead of year 2000. The QAPMCONF file must
match the century of the data you want to process, since
MXG gets AS400CC "Century" value from QAPMCONF.
However, you can circumvent the missing CC=1 value
in your QAPMCONF file by resetting the value of
the macro variable after you have invoked _TQAPCON:
%INCLUDE SOURCLIB(VMACQAPM);
_TQAPCON
%LET AS400CC=1; /*<<= insert to set cc=1 */
RUN; /*<<= insert to set cc=1 */
_TQAPSYS
etc...
Thanks to Kim Johnson, Bank of America, USA.
Change 18.005 There is an end-of-comment */ missing from the second
TRNDSMFI line of this trending example.
Feb 15, 2000
Thanks to Carl Kyonka, Enbridge Consumers Gas Company Ltd, CANADA.
Change 18.004 Type 79 subtype 15 IRLM Long Lock record has SMF79TRN=2
VMAC79 but there is no product section, so STARTIME, SYSPLEX,
Feb 17, 2000 DURATM and other product fields do not exist in TYPE79F.
Feb 22, 2000 In addition, the second triplet is SMF79ASS rather than
SMF79MCS, so the input logic for triplets was revised.
Finally, variables are now formatted to HEX when they do
not contain printable characters, and R79FTRNM is now
kept and labeled.
Note that this type 79 subtype 15 record replaces the
type 74 subtype 100 dataset that MXG creates in VMAC74.
That subtype 100 was a test version that doesn't exist.
Thanks to Johannes-Matthias Laveuve, DVG, GERMANY.
Thanks to Jurgen Scherwa, DVG, GERMANY.
Change 18.003 DB2 6.1 added Buffer Pools 100-109 (8K) and 120-129 (16K)
VMACDB2 and they cause "UNEXPECTED BUFFER POOL ID" messages to be
Feb 11, 2000 printed, because MXG did not know about .
Those new buffer pools are output in the detail by-pool
datasets DB2STATB and DB2ACCTB (although you have to have
removed the comment block in member EXDB2ACB to cause MXG
to create observations in DB2ACCTB), but the new pools
counts were not included in DB2ACCT or DB2STAT datasets.
In DB2ACCT/DB2STAT, MXG creates four sets of buffer pool
variables: QB1xxxx for BP zero, QB2xxxx for BP one,
QB3xxxx for all other 4K buffers, and QB4xxxx for all 32K
buffers. Rather than create yet another set of summary
counters for the 8K and 16K buffer pools, I have added
the 8K and 16K buffer counts to the QB4xxxx variables
in DB2ACCT and DB2STAT, since you can always retrieve the
individual buffer pool counts from DB2ACCTB/DB2STATB.
This change replaces the statement:
ELSE IF 80 LE QBACPID LE 80 THEN DO;
with
ELSE IF 80 LE QBACPID LE 89 OR 100 LE QBACPID LE 109
OR 120 LE QBACPID LE 129 THEN DO;
for DB2ACCT, and replaces this statement:
ELSE IF 80 LE QBSTPID LE 80 THEN DO;
with
ELSE IF 80 LE QBSTPID LE 89 OR 100 LE QBSTPID LE 109
OR 120 LE QBSTPID LE 129 THEN DO;
for dataset DB2STATS.
Thanks to Joachim Mayer, Amadeus Data Processing GmbH, GERMANY.
Change 18.002 Omegamon V500 records were deleted simply because the
VMACOMCI test for version number did not include V500. Add
Feb 7, 2000 AND FOCVER NE 'V500' and the records will be read.
Thanks to Peter Webber, CIS, UK.
Change 18.001 The _Bdddddd BY List macro was not sufficiently robust to
VMAC1415 remove all duplicates for some datasets, so the BY list
VMAC30 of variables has been revised so that you can PROC APPEND
VMAC42 to combine possibly duplicated data and then use the MXG
VMAC6156 _Sdddddd sort macro (which uses the revised _Bdddddd BY
VMAC64 list macro) to eliminate duplicates. However. there are
VMAC7072 four datasets that contain intrinsic duplicates; there
VMAC74 are repeated observations for the same set of BY vars
VMAC89 for the first four datasets listed (with asterisk) that
VMAC115 will require further research and discussion with IBM.
VMAC116 *MQMACCT _BTY116 now SYSTEM MQMSSSID QWHCAID
VMACACC QWHCCV QWHCCN SMFTIME
VMACTCP *TYPETCPA _BTYTCPA now SYSTEM APIJOBNM APISTART
Feb 18, 2000 APILCLPO APILCLPN APILOCAL
APIREMOT SMFTIME
*TYPE42DS _BTY42DS now SYSTEM STARTIME JOB READTIME
DSNAME DEVNR
*TYPE30MU _BTY30MU now READTIME JOB JESNR INITTIME
SUBTYPE PRODOWNR PRODNAME
PRODQUAL PRODID SMFTIME
TYPEACC _BTYACC now SYSTEM READTIME JOB SRHSTEPN
SRHDDN MESSAGE SMFTIME
MQMBUFER _BTY115B now SYSTEM MQMSSSID QPSTPOOL
SMFTIME
TYPE30OM _BTY30OM now READTIME JOB JESNR SUBTYPE
STEPNR SUBSTEP OMVSOPI
OMVSOUI OMVSOSI SMFTIME
TYPE892 _BTY892 now SYSPLEX SYSTEM PRODOWNR
PRODNAME PRODFEAT PRODID
PRODSTFL PRODREGS SMF89IST
SMFTIME
TYPE89 _BTY89 now SYSPLEX SYSTEM PRODOWNR
PRODNAME PRODQUAL PRODID
MULCUFG SMF89IST SMF89UST
SMFTIME
TYPE74SY _BTY74SY now SYSPLEX SYSTEM STARTIME
R742SNME R742SDIR R742STCN
SMFTIME
TYPE74ME _BTY74ME now SYSPLEX SYSTEM STARTIME
R742MSYS R742MGRP R742MMEM
SMFTIME
TYPE72SC _BTY72SC now SYSPLEX SYSTEM STARTIME
SRVCLASS R723SCSN R723SCSR
SMFTIME
TYPE64 _BTY64 now SYSTEM READTIME JOB CATNAME
ENTRNAME SITUATN COMPONT
DDNAME VOLSER1-VOLSER3
SMFTIME
TYPE6156 _BTY6156 now SYSTEM READTIME JOB SMF6XFNC
CATNAME ENTRNAME GENNO VERNO
VOLSER1-VOLSER5 SMFTIME
PDB.SMFINTRV _BTY30UV add SMFTIME DESCENDING INTBTIME
MULTIDD EXTRADD
TYPE1415 _BTY1415 now SYSTEM READTIME JOB OPENTIME
DDNAME DSNAME UCBSEGNR
SMFTIME
TYPE1718 _BTY1718 now SYSTEM READTIME JOB DSNAME
VOLSER NEWNAME SMFTIME
This is work still in progress; I need to formally open
a problem with IBM to discuss the duplicate records that
we've identified. This note updated 1Mar00.
Thanks to Abakah Nori, United Parcel Service, USA.
LASTCHANGE: Version 18.
=========================member=CHANGE17================================
/* COPYRIGHT (C) 1984-2000 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 17.17 is dated Feb 7, 2000, thru Change 17.398.
MXG Version 17.11 was dated Feb 2, 2000, thru Change 17.395.
First MXG Version 17.11 was dated Jan 31, 2000, thru Change 17.394.
First MXG Version 17.10 was dated Jan 20, 2000, thru Change 17.375.
MXG Version 17.09 was dated Dec 22, 1999, thru Change 17.339.
Dostları ilə paylaş: |