Using mapping macros SDSNMACS without Assembler

Amarendra Mohanty

Using mapping macros SDSNMACS without Assembler
Hi,

DB2 V8 in z/OS.
I am trying to read some of the trace records(Without use of 3rd party tools
like MXG etc) and the admin guide only describes the header section. The rest
of the sections including fields in Data section are described in
prefix.SDSNMACS mapping macros. Now, I don't know assembler.

Has anyone used them in REXX or has a field, data-type, field-length
description in a document that I can use without assembler?

Looks like I can read the records from SMF dump or using IFI calls using REXX
but without field mapping it is useless.

I appreciate any response.

Thanks,
Amar

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password. You should have gotten an e-mail with the temporary password assigned to your account. Please log in and update your member profile. If you are not already an IDUG.org member, please register at http://www.idug.org/component/juser/register.html

Philip Sevetson

Re: Using mapping macros SDSNMACS without Assembler
(in response to Amarendra Mohanty)
Amar,

Not quite on topic but SAS/MXG has all these layouts in SAS, if you have
that product installed.

I wouldn't mind seeing the layouts in REXX (if only because I hope
someone would use descriptive names for the fields!) but the performance
would have to be hideous. One of the main reasons for SDSNMACS being in
Assembler is because of the petabytes of data it would be handling for a
large installation.

--Phil Sevetson

-----Original Message-----
From: DB2 Data Base Discussion List [mailto:[login to unmask email] On
Behalf Of Amar
Sent: Friday, January 16, 2009 2:06 PM
To: [login to unmask email]
Subject: [DB2-L] Using mapping macros SDSNMACS without Assembler

Hi,

DB2 V8 in z/OS.
I am trying to read some of the trace records(Without use of 3rd party
tools
like MXG etc) and the admin guide only describes the header section. The
rest
of the sections including fields in Data section are described in
prefix.SDSNMACS mapping macros. Now, I don't know assembler.

Has anyone used them in REXX or has a field, data-type, field-length
description in a document that I can use without assembler?

Looks like I can read the records from SMF dump or using IFI calls using
REXX
but without field mapping it is useless.

I appreciate any response.

Thanks,
Amar

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password.
You should have gotten an e-mail with the temporary password assigned to
your account. Please log in and update your member profile. If you are
not already an IDUG.org member, please register at
http://www.idug.org/component/juser/register.html


=========
Confidentiality Notice: This e-mail communication, and any attachments, contains confidential and privileged information for the exclusive use of the recipient(s) named above. If you are not an intended recipient, or the employee or agent responsible to deliver it to an intended recipient, you are hereby notified that you have received this communication in error and that any review, disclosure, dissemination, distribution or copying of it or its contents is prohibited. If you have received this communication in error, please notify me immediately by replying to this message and delete this communication from your computer. Thank you.

Any opinions, expressed or implied, presented are solely those of the author and do not necessarily represent the opinions of the agency or the City.
=========

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password. You should have gotten an e-mail with the temporary password assigned to your account. Please log in and update your member profile. If you are not already an IDUG.org member, please register at http://www.idug.org/component/juser/register.html

Mike Bell

Re: Using mapping macros SDSNMACS without Assembler
(in response to Philip Sevetson)
You can also get better explanations from SDSNSAMP(DSNWEIDS). The field
names match the field names in SDSNMACS.

Mike
HLS Technologies

-----Original Message-----
From: DB2 Data Base Discussion List [mailto:[login to unmask email] On Behalf
Of Sevetson, Phil
Sent: Friday, January 16, 2009 2:07 PM
To: [login to unmask email]
Subject: Re: [DB2-L] Using mapping macros SDSNMACS without Assembler

Amar,

Not quite on topic but SAS/MXG has all these layouts in SAS, if you have
that product installed.

I wouldn't mind seeing the layouts in REXX (if only because I hope someone
would use descriptive names for the fields!) but the performance would have
to be hideous. One of the main reasons for SDSNMACS being in Assembler is
because of the petabytes of data it would be handling for a large
installation.

--Phil Sevetson

-----Original Message-----
From: DB2 Data Base Discussion List [mailto:[login to unmask email] On Behalf
Of Amar
Sent: Friday, January 16, 2009 2:06 PM
To: [login to unmask email]
Subject: [DB2-L] Using mapping macros SDSNMACS without Assembler

Hi,

DB2 V8 in z/OS.
I am trying to read some of the trace records(Without use of 3rd party tools
like MXG etc) and the admin guide only describes the header section. The
rest of the sections including fields in Data section are described in
prefix.SDSNMACS mapping macros. Now, I don't know assembler.

Has anyone used them in REXX or has a field, data-type, field-length
description in a document that I can use without assembler?

Looks like I can read the records from SMF dump or using IFI calls using
REXX but without field mapping it is useless.

I appreciate any response.

Thanks,
Amar

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password.
You should have gotten an e-mail with the temporary password assigned to
your account. Please log in and update your member profile. If you are not
already an IDUG.org member, please register at
http://www.idug.org/component/juser/register.html


=========
Confidentiality Notice: This e-mail communication, and any attachments,
contains confidential and privileged information for the exclusive use of
the recipient(s) named above. If you are not an intended recipient, or the
employee or agent responsible to deliver it to an intended recipient, you
are hereby notified that you have received this communication in error and
that any review, disclosure, dissemination, distribution or copying of it or
its contents is prohibited. If you have received this communication in
error, please notify me immediately by replying to this message and delete
this communication from your computer. Thank you.

Any opinions, expressed or implied, presented are solely those of the author
and do not necessarily represent the opinions of the agency or the City.
=========

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password. You
should have gotten an e-mail with the temporary password assigned to your
account. Please log in and update your member profile. If you are not
already an IDUG.org member, please register at
http://www.idug.org/component/juser/register.html

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password. You should have gotten an e-mail with the temporary password assigned to your account. Please log in and update your member profile. If you are not already an IDUG.org member, please register at http://www.idug.org/component/juser/register.html

Amarendra Mohanty

Re: Using mapping macros SDSNMACS without Assembler
(in response to Mike Bell)
Well, all the field names that start with QW, ifcids, trace class, trace
descriptions and QW field descriptions I found in SDSNSAMP(DSNWMSGS)
which is very hepful, but still it doesn't describe the field data type, length,
offset in the record etc.

And, Phil, we do have SAS/MXG and use it too, but since I am a beginner in
SAS, I find the SAS code in MXG modules fairly complicated. But if I don't find
any other way I will probably look into MXG or learn assembler.

It is surprising though that Assembler is such an important skill even these
days and IBM assumes that everyone knows it.

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password. You should have gotten an e-mail with the temporary password assigned to your account. Please log in and update your member profile. If you are not already an IDUG.org member, please register at http://www.idug.org/component/juser/register.html

Richard Humphris

Re: Using mapping macros SDSNMACS without Assembler
(in response to Amarendra Mohanty)
Actually, the SDSNMACS macros are written to be used in either Assembler
or PL/1. That's why the macro's seem to repeat themselves.

PL/1 ignores column 1: so all the assembler code becomes a comment to
PL/1. Via /* to start command and */ to end the comment.

Assembler uses column 1: so all the PL/1 code becomes a comment to an
assembler using this macro.




-----Original Message-----
From: DB2 Data Base Discussion List [mailto:[login to unmask email] On
Behalf Of Amar
Sent: Friday, January 16, 2009 3:51 PM
To: [login to unmask email]
Subject: Re: [DB2-L] Using mapping macros SDSNMACS without Assembler

Well, all the field names that start with QW, ifcids, trace class, trace

descriptions and QW field descriptions I found in SDSNSAMP(DSNWMSGS)
which is very hepful, but still it doesn't describe the field data type,
length,
offset in the record etc.

And, Phil, we do have SAS/MXG and use it too, but since I am a beginner
in
SAS, I find the SAS code in MXG modules fairly complicated. But if I
don't find
any other way I will probably look into MXG or learn assembler.

It is surprising though that Assembler is such an important skill even
these
days and IBM assumes that everyone knows it.

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password.
You should have gotten an e-mail with the temporary password assigned to
your account. Please log in and update your member profile. If you are
not already an IDUG.org member, please register at
http://www.idug.org/component/juser/register.html

E-MAIL CONFIDENTIALITY NOTICE: The contents of this e-mail message and any attachments are intended solely for the
addressee(s) and may contain confidential and/or legally privileged information. If you are not the
intended recipient of this message or if this message has been addressed to you in error, please
immediately alert the sender by reply e-mail and then delete this message and any attachments. If you
are not the intended recipient, you are notified that any use, dissemination, distribution, copying, or
storage of this message or any attachment is strictly prohibited.

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password. You should have gotten an e-mail with the temporary password assigned to your account. Please log in and update your member profile. If you are not already an IDUG.org member, please register at http://www.idug.org/component/juser/register.html

Richard Humphris

Re: Using mapping macros SDSNMACS without Assembler
(in response to Richard Humphris)
The other thing to consider is, in general, you have to use multiple
macro's to map a single record.

So if you want to map a IFCID 22, for example, it is really composed of
the following macro's:

(assuming it's an SMF record it's logically put together like this)
DSNDQWSP (which maps the SMF record; including one of the DB2 smf types
100, 101 or 102).
DSNDQWT0 (which maps the variable "self defining section" the actual
length of this section depends on what IFCID this record represents)
DSNDQW00 (where QW0022 is defined) and QW0022 mentions it's located "OUT
OF QWT02R1O"
DSNDQWHS * STANDARD HEADER ALWAYS APPEARS
DSNDQWHC * CORRELATION HEADER MAY APPEAR
DSNDQWHT * TRACE HEADER MAY APPEAR
DSNDQWHU * CPU HEADER MAY APPEAR
DSNDQWHD * DISTRIBUTED HEADER MAY APPEAR
DSNDQWHA * DATA SHARING HEADER MAY APPEAR

To find it's actually a IFCID 22 record and not some other DB2 ifcid
record however you must follow this procedure:
1) you can only depend on the SMF header (DSNDQWSP) fields being in a
fixed location and the first 3 fields in DSNDQWT0 (almost every thing
else is variable).
2) from the SMF record type you can determine this is a DB2 record
3) use the first 3 fields in DSNDQWTO to find the offset to the
"headers". There will be only 1 "header" and it's length will be the
total length for the standard header and any optional headers. Look at
the standard header to see if this SMF record is for ifcid=22. If not a
ifcid=22 record, then read another smf record.
4) assume the standard header said this is a ifcid=22 record. From
DSNDQW00 we see QW0022 only talks about using QWTO2R10 to locate QW0022.
That means only the first six fields in DSNDQWTO are actually allocated
in this SMF record (offset, length and number to find the standard
header; and offset, length and number of QW0022 sections to find the
first (of many?) QW0022 sections in this smf record.
3) the use the QWTO2R10 offset to find the start of the QW0022
sections.

Therefore, in reality, QWT02R10 always points to some (detail)
section(s) for many different IFCID records; although a few IFCID's need
more than just a pair of offsets if they are mapping multiple
(different) data sections within a single smf record).

The reason for this convoluted way of finding headers and data is to
make them variable so IBM can append more fields at the end of sections
without forcing you to immediately re-compile or re-assemble your
program unless you need to take advantage of the new data.



-----Original Message-----
From: Humphris,Richard P.
Sent: Friday, January 16, 2009 4:17 PM
To: 'DB2 Database Discussion list at IDUG'
Subject: RE: [DB2-L] Using mapping macros SDSNMACS without Assembler

Actually, the SDSNMACS macros are written to be used in either Assembler
or PL/1. That's why the macro's seem to repeat themselves.

PL/1 ignores column 1: so all the assembler code becomes a comment to
PL/1. Via /* to start command and */ to end the comment.

Assembler uses column 1: so all the PL/1 code becomes a comment to an
assembler using this macro.




-----Original Message-----
From: DB2 Data Base Discussion List [mailto:[login to unmask email] On
Behalf Of Amar
Sent: Friday, January 16, 2009 3:51 PM
To: [login to unmask email]
Subject: Re: [DB2-L] Using mapping macros SDSNMACS without Assembler

Well, all the field names that start with QW, ifcids, trace class, trace

descriptions and QW field descriptions I found in SDSNSAMP(DSNWMSGS)
which is very hepful, but still it doesn't describe the field data type,
length,
offset in the record etc.

And, Phil, we do have SAS/MXG and use it too, but since I am a beginner
in
SAS, I find the SAS code in MXG modules fairly complicated. But if I
don't find
any other way I will probably look into MXG or learn assembler.

It is surprising though that Assembler is such an important skill even
these
days and IBM assumes that everyone knows it.

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password.
You should have gotten an e-mail with the temporary password assigned to
your account. Please log in and update your member profile. If you are
not already an IDUG.org member, please register at
http://www.idug.org/component/juser/register.html

E-MAIL CONFIDENTIALITY NOTICE: The contents of this e-mail message and any attachments are intended solely for the
addressee(s) and may contain confidential and/or legally privileged information. If you are not the
intended recipient of this message or if this message has been addressed to you in error, please
immediately alert the sender by reply e-mail and then delete this message and any attachments. If you
are not the intended recipient, you are notified that any use, dissemination, distribution, copying, or
storage of this message or any attachment is strictly prohibited.

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password. You should have gotten an e-mail with the temporary password assigned to your account. Please log in and update your member profile. If you are not already an IDUG.org member, please register at http://www.idug.org/component/juser/register.html

Tony Saul

Re: Using mapping macros SDSNMACS without Assembler
(in response to Richard Humphris)
All of the SMF fields are mapped by a combination of the DSNDQ* macros, but as others have pointed out, these are in Assembler and PL/1 (actually PL/X or PL/AS which is slightly different) .
 
REXX might be a challenge, but a Cobol or PL/1 program might be easier in the long run.
 
Regards, Tony

--- On Sat, 17/1/09, Amar <[login to unmask email]> wrote:


From: Amar <[login to unmask email]>
Subject: [DB2-L] Using mapping macros SDSNMACS without Assembler
To: [login to unmask email]
Received: Saturday, 17 January, 2009, 3:06 AM


Hi,

DB2 V8 in z/OS.
I am trying to read some of the trace records(Without use of 3rd party tools
like MXG etc) and the admin guide only describes the header section. The rest
of the sections including fields in Data section are described in
prefix.SDSNMACS mapping macros. Now, I don't know assembler.

Has anyone used them in REXX or has a field, data-type, field-length
description in a document that I can use without assembler?

Looks like I can read the records from SMF dump or using IFI calls using REXX
but without field mapping it is useless.

I appreciate any response.

Thanks,
Amar

______________________________________________________________________

* IDUG 2009 Denver, CO, USA * May 11-15, 2009 * http://IDUG.ORG/Events *
______________________________________________________________________




IDUG.org was recently updated requiring members to use a new password. You should have gotten an e-mail with the temporary password assigned to your account. Please log in and update your member profile. If you are not already an IDUG.org member, please register at http://www.idug.org/component/juser/register.html



Stay connected to the people that matter most with a smarter inbox. Take a look http://au.docs.yahoo.com/mail/smarterinbox


______________________________________________________________________

* IDUG 2009 Rome, Italy * 5-9 October * http://IDUG.ORG/Events *
______________________________________________________________________



IDUG.org was recently updated requiring members to use a new password. You should have gotten an e-mail with the temporary password assigned to your account. Please log in and update your member profile. If you are not already an IDUG.org member, please register at http://www.idug.org/component/juser/register.html