| Date: | Thu, 20 Apr 2000 10:24:05 EDT |
| Reply-To: | Bernard Tremblay <imaginasys@HOTMAIL.COM> |
| Sender: | "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU> |
| From: | Bernard Tremblay <imaginasys@HOTMAIL.COM> |
| Subject: | Re: SMF TYPE-110 RECORDS |
|
| Content-Type: | text/plain; charset=iso-8859-1; format=flowed |
|---|
Hi,
I agree with Michael MXG would be the best source. You could take the
description of the record and program it too. I have a small program that
read some fields of a CMF type 110 record. It may be not the best
programming example but it works and can be improved if you have time for
it! The accounting section should be different in your shop but it gives you
an idea on how to program these type of records.
regards,
Bernard Tremblay
Imaginasys enr.
imaginasys@hotmail.com
B: Bernard.Tremblay@csst.qc.ca (418)644-4113
R: bertrem@quebectel.com (418)658-1411
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//#BTR217T JOB .... use you accounting info here ...
/*ROUTE PRINT LOCAL
//*-----------------------------*
//* BERNARD TREMBLAY *
//* SERVICE DU FONCTIONNEMENT *
//* ET DES OPERATIONS *
//* LOCAL 190 *
//* (418) 644-4113 *
//*-----------------------------*
//* EXTRACTION SMF 110 (CICS) *
//*-----------------------------*
//ETAP01 EXEC SAS
//IN DD DSN=XXX.MICS400.CIC.DATA,DISP=SHR
//SYSIN DD *
OPTIONS SOURCE;
*;
DATA F1
(KEEP = STARTTS ENDTS SYSID CICSID TRANSID TERMID ATT DET NOM);
INFILE IN END=FIN LENGTH = LONG_TOT;
IF FIN THEN STOP;
FORMAT ENDTS DATETIME19.2
STARTTS DATETIME19.2;
INPUT @2 TYPE PIB1.
@3 ENDTS SMFSTAMP8.
@11 ORGSYSID $4.
@;
IF TYPE = '110' THEN LINK TYPE110;
INPUT;
RETURN;
*------;
TYPE110:
*------;
/* we have 15 minutes intervals here */
STARTTS = ENDTS - '0:15:00'T;
SELECT(ORGSYSID);
WHEN('CSST') SYSID='PROD';
WHEN('DEV1') SYSID='DEVL';
WHEN('INFO') SYSID='INFO';
OTHERWISE SYSID=ORGSYSID;
END;
PTR = 46;
DO WHILE (PTR < LONG_TOT);
INPUT @PTR LONG_CIC PIB2.
@PTR+4 LONG_SH PIB2.
@PTR+6 CLASS PIB2.
@PTR+11 CICSID $5.
@PTR+22 LONG_SD PIB2.
@PTR+24 TYP_REC PIB2.
@;
IF LONG_CIC = 0 THEN DO;
ERROR '*** NO DATA ***';
STOP;
END;
IF CLASS = '00000011'B AND TYP_REC = '00000001'B
THEN
LINK ACC;
ELSE
PTR = PTR + LONG_CIC;
END;
RETURN;
*--------;
ACC:
*--;
/* Here we read the accounting information of our site */
INPUT @PTR+32 DEB_DR PIB2.
@PTR+34 LONG_DR PIB2.
@PTR+36 NB_DR PIB2.
@;
PTR = PTR + 22 + DEB_DR; *22=LENGTH OF SECTION HEADER;
DO I = 1 TO NB_DR;
INPUT @PTR TRANSID $4.
@PTR+4 TERMID $4.
@PTR+12 ATT TODSTAMP.
@PTR+20 DET TODSTAMP.
@PTR+266 NOM $20.
@;
OUTPUT;
PTR = PTR + LONG_DR;
END;
RETURN;
*-------;
*;
PROC SORT; BY ATT DET;
PROC PRINT;
FORMAT ATT DATETIME17. DET DATETIME17.;
VAR ATT DET TRANSID TERMID CICSID NOM;
*;
//
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>From: Michael Oujesky <oujesky@TICNET.COM>
>Reply-To: Michael Oujesky <oujesky@TICNET.COM>
>To: SAS-L@LISTSERV.UGA.EDU
>Subject: Re: SMF TYPE-110 RECORDS
>Date: Wed, 19 Apr 2000 17:55:26 -0400
>
>MXG is probably the most cost effective SAS based tool for CMF analysis.
>If all you want is to select out the 110's, IFASMFDP or SORT should be
>fine.
>
>What do you want to do with the data?
>
>Later...
>
> >Does anyone have a SAS program that can select SMF type 110 records for
> >CICS.
> >Or a general purpose SAS program that I can change to select that record
> >type
> >
> >Thanks
> >
> >
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
|