COPYRIGHT (C) 1984-2021 MERRILL CONSULTANTS DALLAS TEXAS USA
MXG NEWSLETTER FIFTY-ONE
*********************NEWSLETTER FIFTY-ONE*******************************
MXG NEWSLETTER NUMBER FIFTY-ONE, December 6, 2007.
Technical Newsletter for Users of MXG : Merrill's Expanded Guide to CPE
TABLE OF CONTENTS
I. MXG Software Version.
II. MXG Technical Notes
III. MVS, aka z/OS, Technical Notes
IV. DB2 Technical Notes.
V. IMS Technical Notes.
VI. SAS Technical Notes.
VI.A. WPS Technical Notes.
VII. CICS Technical Notes.
VIII. Windows NT Technical Notes.
IX z/VM Technical Notes.
X. Incompatibilities and Installation of MXG.
See member CHANGES and member INSTALL.
XI. Online Documentation of MXG Software.
See member DOCUMENT.
XII. Changes Log
Alphabetical list of important changes
Highlights of Changes - See Member CHANGES.
COPYRIGHT (C) 1984,2007 MERRILL CONSULTANTS DALLAS TEXAS USA
I. The 2007 Annual Version MXG 24.24 was dated February 5, 2007.
All sites were mailed a letter with the ftp download instructions.
The availability announcement was posted to both MXG-L and ITSV-L.
You can always request the current version using the form at
http://www.mxg.com/ship_current_version.
1. The current version is MXG 25.11, dated DEC 7, 2007.
See CHANGES member of MXG Source, or http://www.mxg.com/changes.
II. MXG Technical Notes
III. MVS, a/k/a z/OS, Technical Notes.
7. APAR OA22991 documents why RMF III XCF DELAY REPORT may present
misleading information:
RMF III XCF Delay report may show jobs in a 100% XCF Delay when in
fact they do no XCF signaling. RMF III in its display uses the
home asid at the time an XCF signal was sent as passed from XCF in
field AMDHOME (initialized from SIOCB_HomeAsidF) as passed from XCF
module IXCA1MG. This is misleading because a function/routine may
be driven via a timer pop and do an IXCMSGO while executing under
any job in the system. XCF is known to do this for transport layer
signals. For signals issued while in Timer SLIH mode, XCF should
not indicate a AMDHOME asid of the current dispatched job, but
rather the signal sender. VERIFiCATION STEPS:
a. In a svcdump requested while RMF III is reporting XCF
DELAYS for a particular job, do a XESDATA SIGNAL DETAIL report.
b. Max down to the bottom of the report and examine the
measurement data for MSGPEND. There should be entries that
show MASID=0006 and MHOME=xxxx where xxxx is the asid of
the job that is invalidly being report in an XCF Delay.
6. APAR OA22958 documents, with no correction, why the RMF WLMGL WKLD
Activity report has lower SSCHRT than expected when Device Pend
Time is zero:
RMF Workload activity reports may report a lower than expected
DASD Start Subchannel Rate (SSCHRT) value as compared to the
actual dasd activity rates for the system. This will occur as
the calculated PEND and control unit queue times are zero. IOS
does not capture measurements when the wait time (PEND + CUQ)
is zero for an individual i/o interrupt.
VERIFICATION STEPS:
a. Lower than expected SSCH Rate on Workload activity report.
when comparing TOTAL dasd activity to TOTAL reported
workload. Anything greater than 10% can be explained
by this phenomenon.
b. Also review overall pend time for dasd. If zero, then this
is supporting evidence.
5. APAR OA22388 reports and corrects SMF64BUF and SMF64CB flags in the
SMF64RSC byte which were not turned on for biases other than DO with
SMB processing.
4. HIPER APAR OA21884 - JES HANGS DURING ALL-MEMBER WARMSTART
ERROR DESCRIPTION: z/OS 1.8 ONLY:
During an all member warm start, JES2 can $wait in HASPMISC near
ENFP9200. This happens when there is a new or different WLM Policy
defined that doesn't match the policy last in effect when JES2 was
shut down. The $WAIT will not be resolved because the checkpoint
processor is not dispatchable during warmstart -- meaning JES2 will
not start.
The problem reported by OA21884 occurs only if an all-member JES2
warmstart is performed **and** a new WLM service definition was put
into place while JES2 was not running.
The fixing PTF for z/OS 1.8 is UA35883.
3. CICS Transactions from LU 6.2 devices may all have the same UOWID
value. A possible explanation:
One possible source of these transactions was found with CA's
CommBridge software, related to CA's recommended implementation
using Microsoft SNA Server, which creates the problem, instead
of IBM's SNA Server solution, IBM Communication Server (CS),
which includes FTP server/client and other TCP/IP related
tools/services, including SNA over TCP/IP, references below.
One test server was changed to use the IBM solution, apparently
free with z/os, and the UOWIDs are all unique, so they can be
used to correlate to other related transactions/threads/tasks.
Thus when all transactions have the same UOWID, it's likely
that there's some software sitting on a Windows Server using a
transaction spawner which is supplying an FMH-5 header package
in the transaction (possibly the last boot time for the server
box), which is causing CICS not to generate a unique UOWID
string.
z/OS Communications Server:
http://www-306.ibm.com/software/network/commserver/zos/features/
visual of IBM CS enabled environment:
ftp://ftp.software.ibm.com/software/network/commserver/
brochures/commservspec.pdf
IBM Redbook...Modernizing the SNA Environment:
http://www.redbooks.ibm.com/redbooks/pdfs/sg247334.pdf
2. SYNCSORT can page fix many pages when many concurrent SORTs are
running with the 64-bit version of SYNCSORT. A new fix from them
will limit memory to 64M per sort (which covered 98% of the sorts
at the reporting site). The problem is that the 64-bit version
changed the meaning of VSCORET; originally the upper limit on
memory, now is the lower limit. The SYNCSORT enhancement, XXXXXXX
now provide the missing upper limit.
1. SMF 30 interval records are NOT written for GDPS HyperSwap Address
Spaces GEOHSWP, GEOXCFST, and XCFAS. The IBM claim is that the SMF
recording must be stopped otherwise the HyperSwap tasks can be left
hanging, which in turn may result in production systems being
shutdown because the HyperSwap cannot complete. At the present
time, this appears to ONLY be documented in an explanation
provided by a GDPS support specialist (PMR 31381,070,618).
We turn off SMF interval recording in three address spaces
(GEOHSWP, GEOXCFST and XCFAS), for the following reason. SMF
interval processing is done by scheduling an SRB to run in each
address space. This SRB gets the CMS and local lock of the address
space and then builds the SMF interval record. In the process of
building the interval record the SRB code references SMF control
blocks in the address space that are not page fixed. On systems
that have real storage contention these control blocks are going to
be paged out, because they don't get referenced very often. If we
are in the process of doing a HyperSwap where we have I/O suspended
to all of the PPRC volumes and the paging volumes are included in
these volumes, this SMF SRB effectively dead locks the address
space because it has the CMS and local lock and has taken a page
fault that can not complete until the HyperSwap completes. The
HyperSwap process is completely dependent on these three address
space functioning. In our testing before we created this capability
to turn off SMF interval processing in an address space, we
certainly saw hangs in the HyperSwap process because of this
problem in the GEOHSWP and GEOXCFST. I don't believe that we saw a
hang because of this problem in the XCFAS address space, but I just
wanted to make sure that it would not happen. Based on this you
will not get the interval records.
Thus, at the present time, the only way to track the resource
consumption of these address spaces, especially XCFAS, is to set up
a separate Service Class for each ASID, and use the RMF Type 72
records instead of type 30 records; while this provides some of
the information, it is only a subset of the type 30 data.
IV. DB2 Technical Notes.
2. DB2 usage of zIIP Engines. From APAR PK18454:
The DB2 accounting trace records provide information related to
application programs including processor resources consumed by the
application. Accumulated zIIP CPU time is not accumulated in the
existing class 1, class 2, and class 7 accounting fields. New
accounting fields are defined to let users know how much time is
spent on IBM zIIPs, as well as how much time zIIP eligible work
overflowed to standard processors. CPU time eligible for offload to
a zIIP processor is provided in the accounting records even if a
zIIP is not online or DB2 is not running on a z9 mainframe.
Changes to IFCIDs 0003, 0231, 0239, 0147 and 0148 as mapped by the
following macros:
DSNDQPAC - PACKAGE/DBRM ACCOUNTING DATA MAPPING MACRO
DSNDQWAC - ACCOUNTING DATA MAPPING MACRO
DSNDQWHU - IFC CPU HEADER MAPPING MACRO
DSNDQW01 - IFCID HEADER MAPPING MACRO
DSNDQW02 - IFCID HEADER MAPPING MACRO
DSNDQW03 - PARALLEL GROUP TASK TIME TRACE MAPPING MACRO
1. Blank Package Names with ACCUMACC GE 2:
A user reported blank package names to IBM when they upgraded to V8,
in DB2PM reports, and received this reply from DB2 Support:
"This is working as designed, because you have rollup ON (which you
do if ACCUMACC GE 2), the only valid fields in accounting records
will be documented at the top of the external mapping macros.
For example, in your case you may want to refer to DSNDQPAC which
maps package information. Clearly text cannot be rolled up, so
textual fields are excluded from the list (attached below) of valid
data fields.
DDF and RRSAF threads:
A rollup record is written with accumulated counter data for an
end user when the number of occurrences of the end user on the
thread reaches the Zparm value for ACCUMACC. End user is defined
as the concatenation of the following three values:
- End user userid (QWHEUID, 16 bytes)
- End user transaction name (QWHCEUTX, 32 bytes)
- End user workstation name (QWHCEUWN, 18 bytes)
QPACSCT QPACTJST QPACARNE QPACAWTI QPACAWTL QPACAWTR QPACAWTW
QPACAWTE QPACALOG QPACARNL QPACARNR QPACARNW QPACARNS QPACALCT
QPACARND QPACAWDR QPACAWCL QPACARNC QPACAWAR QPACANAR QPACAWTP
QPACARNH QPACAWTG QPACAWTJ QPACARNG QPACARNJ QPACAWTK QPACAWTM
QPACAWTO QPACAWTQ QPACARNK QPACARNM QPACARNN QPACARNO QPACARNQ
QPACCLS7_ZIIP
By rolling up accounting data, there is some loss in detail.
Users will have to weigh the cost/benefit of rollup.
We are sorry that we can't make everything work as you may want,
but we will try."
The DSNZPARM ACCUMACC parameter, new with V8, defaults to '10'.
The user set a ACCUMACC to 'NO' and no longer saw the problem.
MXG note added Apr 9, 2008: The MXG variable QWACRINV in the
DB2ACCT dataset has value 1, 2, or 3 if that observation is
an ACCUMACC Rollup Record, with accumulated and sometimes quite
questionable values. Use only after examination of your data.
V. IMS Technical Notes.
VI. SAS Technical Notes.
1. Memory shortages might cause SAS jobs to end abnormally.
SAS Note SN-V9-018401 is repeated in its entirety:
If SAS jobs end abnormally on a sporadic basis, you should review
the SAS log for memory-related termination codes such as 878, 80A,
or 0F9. You might encounter these termination codes whenever you
run system routines. Or A78 ABENDS.
The abnormal endings that are referenced above might occur when a
previous SORT procedure uses a very large amount of memory. In
particular, the IBM product DFSORT 1.13 and later has a block-mode
sorting feature that enables a SAS job to use very large amounts of
memory. When a SAS job attempts to use this memory, the abnormal
endings might occur.
SAS Technical Support recommends three steps that you should follow
if your SAS job ends abnormally due to memory-related problems:
1. Ensure that your SAS job does not use an unlimited value for the
REGION= option (for example, REGION=0M). SAS Technical Support
strongly recommends that you limit the memory that is available to
SAS jobs. Some SAS procedures will use as much memory as you make
available. Such a situation can adversely affect the performance of
your system. Most SAS@ 9.1.3 jobs can run efficiently within a 64MB
region, but you might need to increase the region size for some
jobs.
2. Set the MEMLEAVE= system option so that you reserve a portion of
the available region that SAS will not use. This precaution helps to
ensure that some memory will be available for running system
routines. The MEMLEAVE= option defaults to 512K. If your SAS job has
memory-related problems, a general guideline is to set the MEMLEAVE=
option to 10% of the size of your region. For example, if
REGION=128MB, then set MEMLEAVE=13MB.
3. If your SAS job uses DFSORT, you might observe in the SAS log
that a prior PROC SORT used a large amount of memory. If your SAS
job ends abnormally with a termination code such as 878, 80A, or
0F9, as a last resort you should turn off DFSORT's block-mode
sorting feature by specifying the NOSORTBLKMODE system option.
VI.A. WPS Technical Notes.
1. Current status of MXG testing under WPS Betas in November, 2007.
a. What has been tested successfully:
MXG QA compile-only (dummy INFILEs) TYPExxxx and TYPSxxxx members
This exercised the MXG DATA-step Code for compile errors,
and created DOCVER to compare the contents of WPS-built
datasets (variables, LENGTHs, LABELs, FORMATs).
Steps 1 thru 36 of the QAJOBXX were tested.
Default BUILDPDB with 480MB SMF File
Tailored BUILDPDB with IMACEXCL with 480 MB SMF File
TYPETPMX with small file - verified 72 position FORMATs worked.
TYPENTSM with test file - verified open-system-style MXG code.
b. WPS Betas are often updated daily, and as errors were encountered in
MXG tests on z/OS and Windows/XP, a new Beta was generated which did
correct each error that could be fixed short-term. The current Beta
tested is World Programming System 2.02 (02.02.00.08458) of Nov 27.
Subsequently, the GA Release 2.2 (02.02.00.08460) was also tested.
c. MXG Version 25.11 is required for testing under WPS; its updates
eliminate the need for user modifications to MXG Software, and new
WPS-specific members (CONFIGW2, MXGWPSV2, JCLINSTW, AUTOEXEW) were
added.
d. Facilities used by MXG Software not yet in WPS for z/OS:
INFILE CCHHR option - needed only for TYPEEREP (EREP, SYS1.LOGREQ),
VMXGVTOC (archaic, replaced by TYPEDCOL), and
the UTILSPAC utility report.
VIEWS - for CPU & I/O performance, used in VMXGSUM
invoked over 60 time in QA BUILDPDB, and in
all ASUMxxxx and TRNDxxxx members.
eliminates a full pass of the input data.
PROC CONTENTS - minor, does not report High Block Used size.
e. Facilities used by MXG Software not yet in WPS for z/OS and Windows:
INFILE with ftp access method - performance slower, more disk space
SAS/GRAPH, SAS/STAT, SAS/ETS, etc.
Currently WPS supports the Base DATA Step Support and a few PROCs,
including PRINT, MEANS, CONTENTS GPLOT, GCHART, with more planned.
f. Output differences - minor
PROC MEANS printed output - some values printed with one digit more
resolution by WPS.
- no error in output values spot checked
- prevents automated output comparisons
g. Untested - most due to complexity or time to set up multiple inputs:
The WPS Workbench and its Workspace(s) and Projects.
The WPS interactive human interface, was not used.
It is VERY different than the SAS Windows or TSO interfaces.
I didn't have the time to learn another human interface.
But if you know Eclipse platform stuff, might be familiar.
DATA Libraries on TAPE
WEEKBLDT, MNTHBLD special TAPE format to DISK, DISP=MOD, etc.
TESTTRND, TESTANAL - requires extensive test data
ANALxxxx - requires test data
ASUMxxxx - except ASUMJOBS, ASUM70PR were tested.
UTILxxxx - specialized utilities for MXG Tech Support
Internal SORT - on z/OS, internal SAS SORT may be required
when BY list variables don't fit in first
4096 bytes.
NFS Files - not tested.
Broken VBS files - not tested.
h. Migration issues - see WPS Migration Instructions:
On z/OS, copy all archived SAS Data Libraries on DASD (including
HSM migrated) to tape (Sequential) format with the SAS System
first.
WPS can read SAS Data Libraries in SEQUENTIAL format on tape or
DASD.
WPS cannot read DASD format SAS Data Libraries
i. Customer reports:
Several MXG customers have been running their BUILDPDB on z/OS.
Early tests had to make source-level-changes to a few MXG members.
Most had relatively simple BUILDPDBs with minimal tailoring.
j. MXG Support Position for testing of WPS Releases:
The Current MXG Version and the Current WPS Version are required.
Your current MXG Software License Agreement states:
Merrill agrees to provide continuous product support for MXG in
the following areas:
When error conditions
(i.e., the SAS execution of MXG code produces either a
return code or an ABEND)
are the results of errors in MXG Code, they will be corrected.
If you encounter an error testing MXG under WPS:
You should report the error to WPS Technical Support for
initial investigation.
If WPS support believes the error is an MXG problem, they can
contact MXG, or may choose to refer you to MXG Support.
MXG Support may then request you to send data to MXG:
- the raw data file that caused the error
- your site's USERID.SOURCLIB (tailoring) source library
If the error can be replicated under the SAS System, it will
be corrected per our license terms.
2. Run time comparisons:
All tests were run as batch commands or batch jobs, with inputs and
outputs read from and written to disk files, using -autoexec to
point to autoexew.sas.
BUILDPDB,ASUMJOBS,ASUM70PR with 448 MB SMF File
z/OS Comparison
CPU TCB Elapsed ----------- Compressed ----------------
minutes minutes Work Size PDB Size CICSTRAN Size
SAS: 3.88 5.20 209 MB 55 MB 59 MB
WPS: 10.67 18.50 233 MB 59 MB 67 MB
Windows/XP Comparison
SAS: 1.20 2.18 Note 1 65 MB 63 MB
WPS: 1.93 2.71 Note 1 78 MB 70 MB
z/OS tests were executed on IBM 2094 CPU Model S08, SU_SEC=9708.
Windows tests executed on Intel Duo Core T5500 @ 1.66 GHz.
Note 1: Neither WPS nor SAS provide a way to track maximum work
space on ASCII
3. Revisions to SAS Clones article in MXG Technical Newsletter FIFTY:
WPS is no longer vapour-ware.
The company has bent over backwards to provide corrections.
Performance of WPS, when written in JAVA, was so poor (run times
were at least ten times worse than the current Beta) that the
product no longer uses JAVA, so it cannot exploit zAAP engines.
Items listed in sub-paragraphs i, ii., iii., and iv. have all been
addressed to my satisfaction, with the exception of the items that
are listed above in this note.
Pricing is significantly reduced from those original IBM prices.
As an example, an MXG site in the USA was quoted an IBM price for
a 21 Value Unit system (about 1000 MIPS) of $42,000 first year and
$8,400 for renewals. WPS can be licensed through IBM or through
World Programming; their home page is at http://www.teamwpc.co.uk
4. Summary:
Most of MXG has compiled successfully under WPS on both z/OS and
Windows/XP.
BUILDPDB has compiled and processed SMF data on both z/OS and
Windows/XP.
A lot of MXG still needs to be tested with data.
WPS is still in development.
WPS will roll this Beta into a GA release of WPS 2.2 this week.
WPS on z/OS requires thrice the CPU and Elapsed Run Time of SAS.
WPS on Windows/XP CPU and run times are similar to SAS run times.
Disk Space required on both platforms are similar.
So, it is your choice at this time to test MXG under WPS.
And, it's your evaluation of your MXG programs that should
determine if you believe that WPS is "Ready for Prime Time",
at your site, with your current CPU and run times and with the
MXG programs and SAS facilities that you utilize.
5. QA Steps successfully compiled and executed with dummy input.
STEP 3. CREATE FORMAT LIBRARY
STEP 4. RUN TESSNT
STEP 5. RUN TESSIBM
STEP 6. RUN TESSIBM1
STEP 7. RUN TESSIBM2
STEP 8. RUN TESSIBM3
STEP 9. RUN TESSUSER
STEP 10. RUN TESSUSR1
STEP 11. RUN TESSOTHR
STEP 12. RUN TYPSCMHM
STEP 13. RUN BUILDPD3+ASUMS
STEP 14. RUN BUILDPDB+ASUMS
STEP 15. RUN TYPERMFV
STEP 16. RUN TYPECMFV+TYPEMVCI
STEP 17. RUN TESSHSM
STEP 18. RUN TESSFACO
STEP 19. RUN TESSDOS
STEP 20. RUN TESSVM
STEP 21. RUN TESSCRAY
STEP 22. RUN TESSHPCS
STEP 23. RUN TESSUNIA
STEP 24. RUN TESSUNIK
STEP 26. RUN TESSQACS
STEP 27. RUN TESSTUX
STEP 28. RUN TESSPW
STEP 29. RUN ASUMPRTR
STEP 30. RUN TYPEIMS7
STEP 31. RUN TESSIMSD
STEP 32. RUN COPYSTEP
STEP 33. RUN TESSTRND - partially completed, not WPS fault.
STEP 34. RUN TESSMNTH
STEP 35. RERUN TYPE-S FOR NON PROC SORT FOR DATASET LABEL
STEP 36. RUN CROSSREF
STEP 37. RUN DOCVER - output DOCVER file is identical.
VII. CICS Technical Notes.
VIII. Windows NT Technical Notes.
IX. z/VM Technical Notes.
X. Incompatibilities and Installation of MXG vv.yy.
1. Incompatibilities introduced in MXG 25.yy (since MXG 24.24):
See CHANGES.
2. Installation and re-installation procedures are described in detail
in member INSTALL (which also lists common Error/Warning messages a
new user might encounter), and sample JCL is in member JCLINST9 for
SAS V9.1.3 or JCLINST8 for SAS V8.2.
XI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
XII. Changes Log
--------------------------Changes Log---------------------------------
You MUST read each Change description to determine if a Change will
impact your site. All changes have been made in this MXG Library.
Member CHANGES always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
Scan each source member named in any impacting change for any comments
at the beginning of the member for additional documentation, since the
documentation of new datasets, variables, validation status, and notes,
are often found in comments in the source members.
Alphabetical list of important changes after MXG 24.24 now in MXG 25.01:
Dataset/
Member Change Description
See Member CHANGES or CHANGESS in your MXG Source Library, or
on the homepage www.mxg.com.
Inverse chronological list of all Changes:
Changes 25.yyy thru 25.001 are contained in member CHANGES.