Tom,
I can replicate the two scenarios over and over. If I leave the output fields as edited numerics (16.6), then the output is correct. If I change the output fields to packed decimal (PD8.6), then I get the wrong values. The input data has not been modified. There are no other external factors (FTP, another user modifying the data, etc).
Please show the lines from the log for the example tests that I asked you to run.
If something is messing up the binary data and not the text data then your run that prints the data as text instead of binary strings will not be impacted.
Here is another test. Write the data to a file using PD8.6 format and then read it back in immediately in the same job.
Also what JCL (or whatever the modern equivalent) are you using to define the output file your data step is creating? Perhaps there is some setting that that is messing up the binary strings.
Tom,
I tried your test. I also added two extra output lines (format PD8.6 and PK8.6). I think this proves that SAS is not correctly handling the PD and PK output fields.
OPTIONS SOURCE;
%VMXGSUM(
INDATA=PDB.CICSTRAN (KEEP=SMFTIME APPLID TRANNAME CPUTM
ELAPSTM
SASDDATE SMFDT CPUSEC );
FORMAT SMFDT $10.;
FORMAT SASDATE DATETIME25.6;
FORMAT ELAPSEC 16.6;
FORMAT CPUSEC 16.6;
ELAPSEC = ELAPSTM;
CPUSEC = CPUTM;
SASDATE = SMFTIME;
SMFDT = PUT(DATEPART(SASDATE),YYMMDD10.);,
OUTDATA=CICS,
SUMBY=SMFDT APPLID TRANNAME,
SUM=CPUSEC ELAPSEC, /* SUMS */
FREQ=NUMTRANS, /* COUNT THE NUMBER OF TRANSACTIONS */
INCODE=
IF SMFDT = '2019-11-20'
AND APPLID = 'A70AL002'
AND TRANNAME = 'IALG';,
OUTCODE=
LABEL NUMTRANS='NUMBER*OF*TRANSACTIONS';
);
DATA _NULL_; SET CICS;
FILE SASLIST;
TEST1=PUT(ELAPSEC,PD8.6); TEST2=PUT(ELAPSEC,PK8.6);
PUT ELAPSEC /
ELAPSEC HEX16. /
ELAPSEC 17.6 /
ELAPSEC BEST17.6 /
ELAPSEC PD8.6 /
ELAPSEC PK8.6 /
TEST1 $HEX16. /
TEST2 $HEX16.;
RUN; The output with HEX ON enabled:
234.981871
4FFF4FFFFFF4444444
0234B9818710000000
------------------
42EAFB5BE8000000
4FFCCCCFCCFFFFFFF4
042516252580000000
------------------
234.981871
44444444FFF4FFFFFF
00000000234B981871
------------------
234.981871128082
44FFF4FFFFFFFFFFFF
00234B981871128082
-----------------
ÑAG
400026CC144444444
00003917C00000000
-----------------
Q É
400003D1744444444
00002488100000000
-----------------
000000234981871C
4FFFFFFFFFFFFFFFC
00000002349818713
-----------------
0000000234981871
4FFFFFFFFFFFFFFFF
00000000234981871
That is not lines from the SAS log. What is HEX ON? What program did you use to generate that output.
But it is showing that the PD8.6 is generating the right values. Here is what it printed as the values of TEST2 which had the value of PD8.6 string and you printed using the $HEX16 format so that you could see each nibble of the binary bytes.
000000234981871C
You can use SAS to show you want is in your file. For example to see what is in the SASLIST file your data step is creating you could use this code:
DATA _NULL_;
INFILE SASLIST;
input ;
list;
run;
Then copy and paste the lines from the SAS LOG.
You can do the same thing for the file you are creating with the original code.
SASLOG output:
11 THE SAS SYSTEM 08:28 MONDAY, NOVEMBER 25, 2019
NOTE: COPYRIGHT (C) 2002-2012 BY SAS INSTITUTE INC., CARY, NC, USA.
NOTE: SAS (R) PROPRIETARY SOFTWARE 9.4 (TS04.01M2P07232014)
LICENSED TO BLUE CROSS BLUE SHIELD OF SOUTH CAROLINA/MEDICARE, SITE 70011433.
NOTE: THIS SESSION IS EXECUTING ON THE Z/OS V02R03M00 PLATFORM.
NOTE: RUNNING ON IBM MODEL 3906 SERIAL NUMBER 05A688.
NOTE: ADDITIONAL HOST INFORMATION:
IBM 3906-718, SYSF, FMID HBB77B0, CPU: 15, GP: 5, ZAAP: 0, ZIIP: 10
WELCOME TO SAS
THIS MESSAGE DISPLAYS IN THE SAS LOG WHEN THE NEWS OPTION IS SPECIFIED.
YOU CAN REPLACE IT WITH YOUR OWN MESSAGE BY EDITING THE NEWS FILE.
NOTE: THE SASUSER LIBRARY WAS NOT SPECIFIED. SASUSER LIBRARY WILL NOW BE THE SAME AS THE WORK LIBRARY.
NOTE: ALL DATA SETS AND CATALOGS IN THE SASUSER LIBRARY WILL BE DELETED AT THE END OF THE SESSION. USE THE NOWORKTERM OPTION TO
PREVENT THEIR DELETION.
NOTE: SAS SYSTEM OPTIONS SPECIFIED ARE:
SORT=100
NOTE: 192M BYTES WERE AVAILABLE ABOVE THE LINE AT INITIALIZATION.
NOTE: 6208K BYTES WERE AVAILABLE BELOW THE LINE AT INITIALIZATION.
NOTE: 182M BYTES WERE AVAILABLE ABOVE THE LINE AFTER ADJUSTMENT FOR MEMLEAVE=10M.
NOTE: THE INITIALIZATION PHASE USED 0.02 CPU SECONDS AND 16569K.
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 912K BELOW THE LINE AND 18508K ABOVE THE LINE.
WARNING: SAS HAS BEEN STARTED IN NLS COMPATIBILITY MODE WITH THE NLSCOMPATMODE OPTION. THIS OPTION WILL NO LONGER BE SUPPORTED
AFTER THIS RELEASE. FOR MORE INFORMATION, CONTACT A SAS REPRESENTATIVE OR TECHNICAL SUPPORT.
NOTE: PROC SQL STATEMENTS ARE EXECUTED IMMEDIATELY; THE RUN STATEMENT HAS NO EFFECT.
WELCOME TO MXG SOFTWARE, FROM MERRILL CONSULTANTS, DALLAS, TEXAS
TECH SUPPORT: 214 351 1966 SUPPORT@MXG.COM WWW.MXG.COM
MXG 37.02 DATED MAR 11, 2019 HAS BEEN INITIALIZED.
FILEREF= SOURCLIB
PHYSICAL NAME= SYS19329.T082835.RA000.TS00JY0N.NULLPDS.H06
PHYSICAL NAME= SYS3.MXG.PROD.USERID.SOURCLIB
PHYSICAL NAME= SYS3.MXG.PROD.SOURCE
NOTE: THERE WERE 3 OBSERVATIONS READ FROM THE DATA SET SASHELP.VEXTFL.
WHERE UPCASE(FILEREF)='SOURCLIB';
NOTE: THE DATA STATEMENT USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.03
EXCP COUNT - 83
TASK MEMORY - 8102K (1662K DATA, 6440K PROGRAM)
12 THE SAS SYSTEM 08:28 MONDAY, NOVEMBER 25, 2019
TOTAL MEMORY - 30445K (11040K DATA, 19405K PROGRAM)
TIMESTAMP - 11/25/2019 8:28:37 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 912K BELOW THE LINE AND 32832K ABOVE THE LINE.
1 OPTIONS SOURCE;
2 %VMXGSUM(
MXGNOTE: VMXGSUM LAST UPDATED: CHANGE 36.249, JAN 1, 2018.
3 INDATA=PDB.CICSTRAN (KEEP=SMFTIME APPLID TRANNAME CPUTM
4 ELAPSTM
5 SASDDATE SMFDT CPUSEC );
6 FORMAT SMFDT $10.;
7 FORMAT SASDATE DATETIME25.6;
8 FORMAT ELAPSEC 16.6;
9 FORMAT CPUSEC 16.6;
10
11 ELAPSEC = ELAPSTM;
12 CPUSEC = CPUTM;
13
14 SASDATE = SMFTIME;
15 SMFDT = PUT(DATEPART(SASDATE),YYMMDD10.);,
16
17 OUTDATA=CICS,
18 SUMBY=SMFDT APPLID TRANNAME,
19 SUM=CPUSEC ELAPSEC, /* SUMS */
20 FREQ=NUMTRANS, /* COUNT THE NUMBER OF TRANSACTIONS */
21 INCODE=
22 IF SMFDT = '2019-11-20'
23 AND APPLID = 'A70AL002'
24 AND TRANNAME = 'IALG';,
25 OUTCODE=
26 LABEL NUMTRANS='NUMBER*OF*TRANSACTIONS';
27 );
MXGNOTE: VMXGSUM FROM MXG 37.02 HAS BEEN INVOKED
MXGNOTE: VMXGOPTR LAST UPDATED: SEP 10, 2017. CHANGE 35.194.
MXGNOTE: VGETOBS LAST UPDATED OCT 25, 2018. CHANGE 36.202.
NOTE: DELETING WORK.OPTVAR (MEMTYPE=DATA).
MXGNOTE: INDATA = PDB.CICSTRAN (KEEP=SMFTIME APPLID TRANNAME CPUTM ELAPSTM SASDDATE SMFDT CPUSEC ); FORMAT SMFDT $10.; FORMAT
SASDATE DATETIME25.6; FORMAT ELAPSEC 16.6; FORMAT CPUSEC 16.6; ELAPSEC=ELAPSTM; CPUSEC=CPUTM; SASDATE=SMFTIME;
SMFDT=PUT(DATEPART(SASDATE),YYMMDD10.);
MXGNOTE: OUTDATA = CICS
MXGNOTE: SUMBY = SMFDT APPLID TRANNAME
MXGNOTE: SUMBYCLASS=
MXGNOTE: SUM = CPUSEC ELAPSEC
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.18
ELAPSED TIME - 00:00:00.30
EXCP COUNT - 188
TASK MEMORY - 7700K (45K DATA, 7655K PROGRAM)
TOTAL MEMORY - 32057K (10784K DATA, 21273K PROGRAM)
TIMESTAMP - 11/25/2019 8:28:37 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 1124K BELOW THE LINE AND 33856K ABOVE THE LINE.
13 THE SAS SYSTEM 08:28 MONDAY, NOVEMBER 25, 2019
NOTE: DATA STEP VIEW SAVED ON FILE WORK.MXGSUM1.
NOTE: A STORED DATA STEP VIEW CANNOT RUN UNDER A DIFFERENT OPERATING SYSTEM.
NOTE: THE DATA STATEMENT USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.03
EXCP COUNT - 61
TASK MEMORY - 4440K (189K DATA, 4251K PROGRAM)
TOTAL MEMORY - 32360K (11040K DATA, 21320K PROGRAM)
TIMESTAMP - 11/25/2019 8:28:37 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 1380K BELOW THE LINE AND 33904K ABOVE THE LINE.
NOTE: DELETING WORK.OPTVAR (MEMTYPE=DATA).
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 4
TASK MEMORY - 4436K (44K DATA, 4392K PROGRAM)
TOTAL MEMORY - 32370K (10784K DATA, 21586K PROGRAM)
TIMESTAMP - 11/25/2019 8:28:37 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 1380K BELOW THE LINE AND 34812K ABOVE THE LINE.
NOTE: THE VIEW WORK.MXGSUM1.VIEW USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:18.27
ELAPSED TIME - 00:01:48.24
EXCP COUNT - 203412
TASK MEMORY - 4174K (195K DATA, 3979K PROGRAM)
TOTAL MEMORY - 32799K (11168K DATA, 21631K PROGRAM)
TIMESTAMP - 11/25/2019 8:30:26 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: THERE WERE 40873952 OBSERVATIONS READ FROM THE DATA SET PDB.CICSTRAN.
NOTE: THERE WERE 312 OBSERVATIONS READ FROM THE DATA SET WORK.MXGSUM1.
NOTE: THE DATA SET WORK.MXGSUM2 HAS 312 OBSERVATIONS AND 5 VARIABLES.
NOTE: COMPRESSING DATA SET WORK.MXGSUM2 INCREASED SIZE BY 100.00 PERCENT.
COMPRESSED IS 2 PAGES; UN-COMPRESSED WOULD REQUIRE 1 PAGES.
NOTE: THE PROCEDURE SORT USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:18.27
ELAPSED TIME - 00:01:48.25
EXCP COUNT - 41
TASK MEMORY - 4526K (277K DATA, 4249K PROGRAM)
TOTAL MEMORY - 32799K (11168K DATA, 21631K PROGRAM)
TIMESTAMP - 11/25/2019 8:30:26 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: DELETING WORK.MXGSUM1 (MEMTYPE=VIEW).
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 4
TASK MEMORY - 3934K (44K DATA, 3890K PROGRAM)
TOTAL MEMORY - 32415K (10784K DATA, 21631K PROGRAM)
14 THE SAS SYSTEM 08:30 MONDAY, NOVEMBER 25, 2019
TIMESTAMP - 11/25/2019 8:30:26 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: THERE WERE 312 OBSERVATIONS READ FROM THE DATA SET WORK.MXGSUM2.
NOTE: THE DATA SET WORK.MXGSUM3 HAS 1 OBSERVATIONS AND 6 VARIABLES.
NOTE: COMPRESSING DATA SET WORK.MXGSUM3 INCREASED SIZE BY 100.00 PERCENT.
COMPRESSED IS 2 PAGES; UN-COMPRESSED WOULD REQUIRE 1 PAGES.
NOTE: THE PROCEDURE MEANS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.02
EXCP COUNT - 68
TASK MEMORY - 5006K (108K DATA, 4898K PROGRAM)
TOTAL MEMORY - 33148K (10656K DATA, 22492K PROGRAM)
TIMESTAMP - 11/25/2019 8:30:26 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: DELETING WORK.MXGSUM2 (MEMTYPE=DATA).
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 4
TASK MEMORY - 4436K (44K DATA, 4392K PROGRAM)
TOTAL MEMORY - 33404K (10912K DATA, 22492K PROGRAM)
TIMESTAMP - 11/25/2019 8:30:26 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: THERE WERE 1 OBSERVATIONS READ FROM THE DATA SET WORK.MXGSUM3.
NOTE: THE DATA SET WORK.CICS HAS 1 OBSERVATIONS AND 6 VARIABLES.
NOTE: COMPRESSING DATA SET WORK.CICS INCREASED SIZE BY 100.00 PERCENT.
COMPRESSED IS 2 PAGES; UN-COMPRESSED WOULD REQUIRE 1 PAGES.
NOTE: THE DATA STATEMENT USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 7
TASK MEMORY - 5478K (153K DATA, 5325K PROGRAM)
TOTAL MEMORY - 33276K (10784K DATA, 22492K PROGRAM)
TIMESTAMP - 11/25/2019 8:30:26 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: DELETING WORK.MXGSUM3 (MEMTYPE=DATA).
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 4
TASK MEMORY - 4006K (44K DATA, 3962K PROGRAM)
TOTAL MEMORY - 33532K (11040K DATA, 22492K PROGRAM)
TIMESTAMP - 11/25/2019 8:30:26 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
15 THE SAS SYSTEM 08:30 MONDAY, NOVEMBER 25, 2019
NOTE: DELETING WORK.KEEPERS (MEMTYPE=DATA).
NOTE: DELETING WORK.KEEPDATA (MEMTYPE=DATA).
NOTE: DELETING WORK.VAR1 (MEMTYPE=DATA).
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 6
TASK MEMORY - 4006K (44K DATA, 3962K PROGRAM)
TOTAL MEMORY - 33532K (11040K DATA, 22492K PROGRAM)
TIMESTAMP - 11/25/2019 8:30:26 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
28 DATA _NULL_; SET CICS;
29 FILE SASLIST;
30
31 TEST1=PUT(ELAPSEC,PD8.6); TEST2=PUT(ELAPSEC,PK8.6);
32 PUT ELAPSEC /
33 ELAPSEC HEX16. /
34 ELAPSEC 17.6 /
35 ELAPSEC BEST17.6 /
36 ELAPSEC PD8.6 /
37 ELAPSEC PK8.6 /
38 TEST1 $HEX16. /
39 TEST2 $HEX16.;
40 RUN;
NOTE: THE FILE SASLIST IS:
DSNAME=USER.TS00JY0N.JOB21538.D0000104.?,
UNIT=SYSOUT,VOLUME,DISP=MOD,BLKSIZE=264,
LRECL=260,RECFM=VBA,CREATION=2019/11/25
NOTE: 8 RECORDS WERE WRITTEN TO THE FILE SASLIST.
THE MINIMUM RECORD LENGTH WAS 8.
THE MAXIMUM RECORD LENGTH WAS 17.
NOTE: THERE WERE 1 OBSERVATIONS READ FROM THE DATA SET WORK.CICS.
NOTE: THE DATA STATEMENT USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 16
TASK MEMORY - 5052K (152K DATA, 4900K PROGRAM)
TOTAL MEMORY - 33547K (11040K DATA, 22507K PROGRAM)
TIMESTAMP - 11/25/2019 8:30:26 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
40 !
NOTE: THE SAS SESSION USED 18.91 CPU SECONDS AND 34699K.
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: SAS INSTITUTE INC., SAS CAMPUS DRIVE, CARY, NC USA 27513-2414
That is better, but since you wrote the test values into SASLIST file instead of to the LOG you need to either re-run without the FILE statement or with FILE LOG statement. Also try just reading teh file you generated with SAS to see what is in it rather than whatever tool you are using that has the HEX ON feature.
Output written to LOG
11 THE SAS SYSTEM 08:59 MONDAY, NOVEMBER 25, 2019
NOTE: COPYRIGHT (C) 2002-2012 BY SAS INSTITUTE INC., CARY, NC, USA.
NOTE: SAS (R) PROPRIETARY SOFTWARE 9.4 (TS04.01M2P07232014)
LICENSED TO BLUE CROSS BLUE SHIELD OF SOUTH CAROLINA/MEDICARE, SITE 70011433.
NOTE: THIS SESSION IS EXECUTING ON THE Z/OS V02R03M00 PLATFORM.
NOTE: RUNNING ON IBM MODEL 3906 SERIAL NUMBER 05A688.
NOTE: ADDITIONAL HOST INFORMATION:
IBM 3906-718, SYSF, FMID HBB77B0, CPU: 15, GP: 5, ZAAP: 0, ZIIP: 10
WELCOME TO SAS
THIS MESSAGE DISPLAYS IN THE SAS LOG WHEN THE NEWS OPTION IS SPECIFIED.
YOU CAN REPLACE IT WITH YOUR OWN MESSAGE BY EDITING THE NEWS FILE.
NOTE: THE SASUSER LIBRARY WAS NOT SPECIFIED. SASUSER LIBRARY WILL NOW BE THE SAME AS THE WORK LIBRARY.
NOTE: ALL DATA SETS AND CATALOGS IN THE SASUSER LIBRARY WILL BE DELETED AT THE END OF THE SESSION. USE THE NOWORKTERM OPTION TO
PREVENT THEIR DELETION.
NOTE: SAS SYSTEM OPTIONS SPECIFIED ARE:
SORT=100
NOTE: 192M BYTES WERE AVAILABLE ABOVE THE LINE AT INITIALIZATION.
NOTE: 6208K BYTES WERE AVAILABLE BELOW THE LINE AT INITIALIZATION.
NOTE: 182M BYTES WERE AVAILABLE ABOVE THE LINE AFTER ADJUSTMENT FOR MEMLEAVE=10M.
NOTE: THE INITIALIZATION PHASE USED 0.02 CPU SECONDS AND 16569K.
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 912K BELOW THE LINE AND 18508K ABOVE THE LINE.
WARNING: SAS HAS BEEN STARTED IN NLS COMPATIBILITY MODE WITH THE NLSCOMPATMODE OPTION. THIS OPTION WILL NO LONGER BE SUPPORTED
AFTER THIS RELEASE. FOR MORE INFORMATION, CONTACT A SAS REPRESENTATIVE OR TECHNICAL SUPPORT.
NOTE: PROC SQL STATEMENTS ARE EXECUTED IMMEDIATELY; THE RUN STATEMENT HAS NO EFFECT.
WELCOME TO MXG SOFTWARE, FROM MERRILL CONSULTANTS, DALLAS, TEXAS
TECH SUPPORT: 214 351 1966 SUPPORT@MXG.COM WWW.MXG.COM
MXG 37.02 DATED MAR 11, 2019 HAS BEEN INITIALIZED.
FILEREF= SOURCLIB
PHYSICAL NAME= SYS19329.T085955.RA000.TS00JY0N.NULLPDS.H06
PHYSICAL NAME= SYS3.MXG.PROD.USERID.SOURCLIB
PHYSICAL NAME= SYS3.MXG.PROD.SOURCE
NOTE: THERE WERE 3 OBSERVATIONS READ FROM THE DATA SET SASHELP.VEXTFL.
WHERE UPCASE(FILEREF)='SOURCLIB';
NOTE: THE DATA STATEMENT USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.06
EXCP COUNT - 84
TASK MEMORY - 8102K (1662K DATA, 6440K PROGRAM)
12 THE SAS SYSTEM 08:59 MONDAY, NOVEMBER 25, 2019
TOTAL MEMORY - 30445K (11040K DATA, 19405K PROGRAM)
TIMESTAMP - 11/25/2019 8:59:57 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 912K BELOW THE LINE AND 32832K ABOVE THE LINE.
1 OPTIONS SOURCE;
2 %VMXGSUM(
MXGNOTE: VMXGSUM LAST UPDATED: CHANGE 36.249, JAN 1, 2018.
3 INDATA=PDB.CICSTRAN (KEEP=SMFTIME APPLID TRANNAME CPUTM
4 ELAPSTM
5 SASDDATE SMFDT CPUSEC );
6 FORMAT SMFDT $10.;
7 FORMAT SASDATE DATETIME25.6;
8 FORMAT ELAPSEC 16.6;
9 FORMAT CPUSEC 16.6;
10
11 ELAPSEC = ELAPSTM;
12 CPUSEC = CPUTM;
13
14 SASDATE = SMFTIME;
15 SMFDT = PUT(DATEPART(SASDATE),YYMMDD10.);,
16
17 OUTDATA=CICS,
18 SUMBY=SMFDT APPLID TRANNAME,
19 SUM=CPUSEC ELAPSEC, /* SUMS */
20 FREQ=NUMTRANS, /* COUNT THE NUMBER OF TRANSACTIONS */
21 INCODE=
22 IF SMFDT = '2019-11-20'
23 AND APPLID = 'A70AL002'
24 AND TRANNAME = 'IALG';,
25 OUTCODE=
26 LABEL NUMTRANS='NUMBER*OF*TRANSACTIONS';
27 );
MXGNOTE: VMXGSUM FROM MXG 37.02 HAS BEEN INVOKED
MXGNOTE: VMXGOPTR LAST UPDATED: SEP 10, 2017. CHANGE 35.194.
MXGNOTE: VGETOBS LAST UPDATED OCT 25, 2018. CHANGE 36.202.
NOTE: DELETING WORK.OPTVAR (MEMTYPE=DATA).
MXGNOTE: INDATA = PDB.CICSTRAN (KEEP=SMFTIME APPLID TRANNAME CPUTM ELAPSTM SASDDATE SMFDT CPUSEC ); FORMAT SMFDT $10.; FORMAT
SASDATE DATETIME25.6; FORMAT ELAPSEC 16.6; FORMAT CPUSEC 16.6; ELAPSEC=ELAPSTM; CPUSEC=CPUTM; SASDATE=SMFTIME;
SMFDT=PUT(DATEPART(SASDATE),YYMMDD10.);
MXGNOTE: OUTDATA = CICS
MXGNOTE: SUMBY = SMFDT APPLID TRANNAME
MXGNOTE: SUMBYCLASS=
MXGNOTE: SUM = CPUSEC ELAPSEC
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.17
ELAPSED TIME - 00:00:00.30
EXCP COUNT - 189
TASK MEMORY - 7700K (45K DATA, 7655K PROGRAM)
TOTAL MEMORY - 32057K (10784K DATA, 21273K PROGRAM)
TIMESTAMP - 11/25/2019 8:59:58 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 1124K BELOW THE LINE AND 33856K ABOVE THE LINE.
13 THE SAS SYSTEM 08:59 MONDAY, NOVEMBER 25, 2019
NOTE: DATA STEP VIEW SAVED ON FILE WORK.MXGSUM1.
NOTE: A STORED DATA STEP VIEW CANNOT RUN UNDER A DIFFERENT OPERATING SYSTEM.
NOTE: THE DATA STATEMENT USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.03
EXCP COUNT - 59
TASK MEMORY - 4440K (189K DATA, 4251K PROGRAM)
TOTAL MEMORY - 32360K (11040K DATA, 21320K PROGRAM)
TIMESTAMP - 11/25/2019 8:59:58 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 1380K BELOW THE LINE AND 33904K ABOVE THE LINE.
NOTE: DELETING WORK.OPTVAR (MEMTYPE=DATA).
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 4
TASK MEMORY - 4436K (44K DATA, 4392K PROGRAM)
TOTAL MEMORY - 32370K (10784K DATA, 21586K PROGRAM)
TIMESTAMP - 11/25/2019 8:59:58 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 1380K BELOW THE LINE AND 34812K ABOVE THE LINE.
NOTE: THE VIEW WORK.MXGSUM1.VIEW USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:18.26
ELAPSED TIME - 00:01:36.39
EXCP COUNT - 203413
TASK MEMORY - 4174K (195K DATA, 3979K PROGRAM)
TOTAL MEMORY - 32799K (11168K DATA, 21631K PROGRAM)
TIMESTAMP - 11/25/2019 9:01:34 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: THERE WERE 40873952 OBSERVATIONS READ FROM THE DATA SET PDB.CICSTRAN.
NOTE: THERE WERE 312 OBSERVATIONS READ FROM THE DATA SET WORK.MXGSUM1.
NOTE: THE DATA SET WORK.MXGSUM2 HAS 312 OBSERVATIONS AND 5 VARIABLES.
NOTE: COMPRESSING DATA SET WORK.MXGSUM2 INCREASED SIZE BY 100.00 PERCENT.
COMPRESSED IS 2 PAGES; UN-COMPRESSED WOULD REQUIRE 1 PAGES.
NOTE: THE PROCEDURE SORT USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:18.26
ELAPSED TIME - 00:01:36.40
EXCP COUNT - 41
TASK MEMORY - 4526K (277K DATA, 4249K PROGRAM)
TOTAL MEMORY - 32799K (11168K DATA, 21631K PROGRAM)
TIMESTAMP - 11/25/2019 9:01:34 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: DELETING WORK.MXGSUM1 (MEMTYPE=VIEW).
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 4
TASK MEMORY - 3934K (44K DATA, 3890K PROGRAM)
TOTAL MEMORY - 32415K (10784K DATA, 21631K PROGRAM)
14 THE SAS SYSTEM 09:01 MONDAY, NOVEMBER 25, 2019
TIMESTAMP - 11/25/2019 9:01:34 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: THERE WERE 312 OBSERVATIONS READ FROM THE DATA SET WORK.MXGSUM2.
NOTE: THE DATA SET WORK.MXGSUM3 HAS 1 OBSERVATIONS AND 6 VARIABLES.
NOTE: COMPRESSING DATA SET WORK.MXGSUM3 INCREASED SIZE BY 100.00 PERCENT.
COMPRESSED IS 2 PAGES; UN-COMPRESSED WOULD REQUIRE 1 PAGES.
NOTE: THE PROCEDURE MEANS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.03
EXCP COUNT - 68
TASK MEMORY - 5006K (108K DATA, 4898K PROGRAM)
TOTAL MEMORY - 33148K (10656K DATA, 22492K PROGRAM)
TIMESTAMP - 11/25/2019 9:01:34 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: DELETING WORK.MXGSUM2 (MEMTYPE=DATA).
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 4
TASK MEMORY - 4436K (44K DATA, 4392K PROGRAM)
TOTAL MEMORY - 33404K (10912K DATA, 22492K PROGRAM)
TIMESTAMP - 11/25/2019 9:01:34 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: THERE WERE 1 OBSERVATIONS READ FROM THE DATA SET WORK.MXGSUM3.
NOTE: THE DATA SET WORK.CICS HAS 1 OBSERVATIONS AND 6 VARIABLES.
NOTE: COMPRESSING DATA SET WORK.CICS INCREASED SIZE BY 100.00 PERCENT.
COMPRESSED IS 2 PAGES; UN-COMPRESSED WOULD REQUIRE 1 PAGES.
NOTE: THE DATA STATEMENT USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 7
TASK MEMORY - 5478K (153K DATA, 5325K PROGRAM)
TOTAL MEMORY - 33276K (10784K DATA, 22492K PROGRAM)
TIMESTAMP - 11/25/2019 9:01:34 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: DELETING WORK.MXGSUM3 (MEMTYPE=DATA).
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 4
TASK MEMORY - 4006K (44K DATA, 3962K PROGRAM)
TOTAL MEMORY - 33532K (11040K DATA, 22492K PROGRAM)
TIMESTAMP - 11/25/2019 9:01:34 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
15 THE SAS SYSTEM 09:01 MONDAY, NOVEMBER 25, 2019
NOTE: DELETING WORK.KEEPERS (MEMTYPE=DATA).
NOTE: DELETING WORK.KEEPDATA (MEMTYPE=DATA).
NOTE: DELETING WORK.VAR1 (MEMTYPE=DATA).
NOTE: THE PROCEDURE DATASETS USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 6
TASK MEMORY - 4006K (44K DATA, 3962K PROGRAM)
TOTAL MEMORY - 33532K (11040K DATA, 22492K PROGRAM)
TIMESTAMP - 11/25/2019 9:01:34 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
28 DATA _NULL_; SET CICS;
29 FILE LOG;
30
31 TEST1=PUT(ELAPSEC,PD8.6); TEST2=PUT(ELAPSEC,PK8.6);
32 PUT ELAPSEC /
33 ELAPSEC HEX16. /
34 ELAPSEC 17.6 /
35 ELAPSEC BEST17.6 /
36 ELAPSEC PD8.6 /
37 ELAPSEC PK8.6 /
38 TEST1 $HEX16. /
39 TEST2 $HEX16.;
40 RUN;
234.981871
42EAFB5BE8000000
234.981871
234.981871128082
¬AG
[1]Qˆ
000000234981871C
0000000234981871
NOTE: THERE WERE 1 OBSERVATIONS READ FROM THE DATA SET WORK.CICS.
NOTE: THE DATA STATEMENT USED THE FOLLOWING RESOURCES:
CPU TIME - 00:00:00.00
ELAPSED TIME - 00:00:00.00
EXCP COUNT - 8
TASK MEMORY - 5025K (152K DATA, 4873K PROGRAM)
TOTAL MEMORY - 33547K (11040K DATA, 22507K PROGRAM)
TIMESTAMP - 11/25/2019 9:01:34 AM
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
40 !
NOTE: THE SAS SESSION USED 18.88 CPU SECONDS AND 34699K.
NOTE: THE ADDRESS SPACE HAS USED A MAXIMUM OF 2532K BELOW THE LINE AND 41548K ABOVE THE LINE.
NOTE: SAS INSTITUTE INC., SAS CAMPUS DRIVE, CARY, NC USA 27513-2414
So it looks like whatever is trying to force everything to uppercase is also being applied to your SAS log.
Notice the AG in the line with the packed decimal string? Also the Q in the next line. That is where the '98'x byte from the 00 00 00 02 34 98 18 71 was converted from lower case q into uppercase Q which is 'D8'x.
28 DATA _NULL_; SET CICS;
29 FILE LOG;
30
31 TEST1=PUT(ELAPSEC,PD8.6); TEST2=PUT(ELAPSEC,PK8.6);
32 PUT ELAPSEC /
33 ELAPSEC HEX16. /
34 ELAPSEC 17.6 /
35 ELAPSEC BEST17.6 /
36 ELAPSEC PD8.6 /
37 ELAPSEC PK8.6 /
38 TEST1 $HEX16. /
39 TEST2 $HEX16.;
40 RUN;
234.981871
42EAFB5BE8000000
234.981871
234.981871128082
¬AG
[1]Qˆ
000000234981871C
0000000234981871
NOTE: THERE WERE 1 OBSERVATIONS READ FROM THE DATA SET WORK.CICS.
See what happens when you write to a file and then read it back in. You don't really need to post the full SAS log, just the key parts like above.
You're right! Let me talk to our SAS admin. I wonder if there is a system parameter that is forcing uppercase translation.
I added NOCAPSOUT on the options and it resolved the issue.
OPTIONS SOURCE NOCAPSOUT; 234.981871
4FFF4FFFFFF4444444
0234B9818710000000
------------------
42EAFB5BE8000000
4FFCCCCFCCFFFFFFF4
042516252580000000
------------------
234.981871
44444444FFF4FFFFFF
00000000234B981871
------------------
234.981871128082
44FFF4FFFFFFFFFFFF
00234B981871128082
------------------
ñag
400024881444444444
00003917C000000000
------------------
q É
400003917444444444
000024881000000000
------------------
000000234981871C
4FFFFFFFFFFFFFFFC4
000000023498187130
------------------
0000000234981871
4FFFFFFFFFFFFFFFF4
000000002349818710
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.