Enhancing SAS Output on Mainframes with IBM`s DCF

Transcrição

Enhancing SAS Output on Mainframes with IBM`s DCF
Enhancing SAS Output on Mainframes with IBM's DCF
by
Christel Ott & Rolf Annen
Swissair Information Systems
Abstract
On the mainframe-platform SAS output tends to look rather poor. Instead of enhancing the appearance by
transferring the output to PC applications, an elegant solution to the problem uses IBM's DCF on the
mainframe.
Your text SAS Output (PROC PRINT, PROC TABULATE) will look more professional and the integration of
scalable SAS/GRAPH page segments will enrich your DCF documents.
Text SAS Output
To enable the use of DCF/GML together with SAS output you have to put your data on a file either by the
procedure PROC PRINTTO or by PUT-statements together with the FILE-statement.
In doing so you specify the appropriate DCF/GML tags by means of TITLE or FOOTNOTE statements or
directly with PUT-statements.
Example with PROC PRINTTO:
proc printto file=script new;
run;
title 1
title2
M:h1 stitle='SEUGI' .This is a DCF/GML titleM:p••
proc print data=sasuser.crime;
run;
proc printto;
run;
,
\
\.
':
576
Example with PUT-Statements:
data_NUL~;
set freq1 end=lastobs;
by sorted;
toplist=5;
retain n ctotfreq ctotaver;
file prt1;
if _N_ 1
then do;
put ".df isil1 0 type('isil gothic' 10) codepage t1 nOisil";
put " :rdef id=freq";
put "
trules='none''';
put "
rrules='none''';
put "
crules='none''';
put"
hp='O' cwidths='1.5cm * 1.5cm 2cm'.";
put ":rdef id=tot";
put "
trules='none''';
put "
crules='none''';
put"
hp='2' cwidths='* 1.5cm 2cm'.";
end;
if first.sorted
then do;
put ":h3." classtxt;
put ".bf isil10";
put ".fo ofr;
put ":table refid=freq page split='yes'. ";
put ":thd refid=freq.";
put ":c.CODE :c.TITLE :c.FREQ :c.AVERAGE";
put ".sp";
put ":ethd.";
n=O;
ctotfreq = 0;
ctotaver= 0;
end;
n=n+1;
if n <= toplist
then do;
put ": row. ";
put ":c 1." code posneg ":c 2." title 1;
put ":c 3." totcode 6.0 ":c 4." average 4.1"%";
ctotfreq=sum(ctotfreq,totcode);
ctotaver=sum(ctotaver,average);
end;
if n=toplist+1
then do;
put ".sp";
put ":row refid=tot.";
put ":c 1.TOTAL FREQUENCY: ";
put ":c 2." ctotfreq 6.0 ":c 3." ctotaver 4.1 "%";
put ":etable.";
put ".fo on";
put ".pr;
end;
run;
=
577
",>"-"",."""",,,~-------
------------
The above output file will have to be included in a DCF/GML Master Script File with the
imbed-command .IM before processing DCF.
Example:
*
DCF/GML Master Script File---------------*
:gdoc language='sgerman'.
:body.
.im script
:egdoc.
For DCF output examples see the end of this paper.
Integration of scalable SASIGRAPH page segments on MVS
In order to integrate SAS/GRAPH Output in a DCF/GML document you have to create a secondary page
segment that you can include in a DCF or SCript document.
The following steps outline the process of how to create and include such a page segment.
1.
2.
3.
4.
Define a GDDM nickname.
Allocate a new output file for the page segment.
Use the correct fileref and the appropriate options in your SAS session.
Include the page segment in your DCF document and process.
1. Defining a GDDM nickname
GDDM nicknames are options and parameters that tell GDDM what type of device you are using, what type
of graphics output to generate, and where to send the graphics output.
You can place your various GDDM nicknames either in sequential data sets or in members of a partitioned
data set (PDS) with a logical record length of 80 and a record format of F or FB. One single GDDM
nickname file may contain as many nicknames as you like.
The name of this data set can be anything you choose provided you allocate it later with the fiJeref of
ADMDEFS.
578
Example:
ADMMNICK NAME=PSEG1,
TOFAM=4,
TONAME=ADMIMAGE,
DEVTOK=FINE240,
PROCOPT=«OFDSTYPE,PSEG},
(OFFORMAT,IMAGE),
(HRIPSPILL,NO),
(HRIPSIZE,175,100,MILLS»
*
*
*
*
*
*
*
Note: The information in your nickname file must be in uppercase and begin in column 2.
Position 72 must not be blank (in this case an asterisk{*».
NAME=
TONAME=
DEVTOK=
defines the name of the nickname
defines the fileref to send the graphics output to
GDDM device token to use for IBM 3800-type printers
{e.g. FINE240: normal, IMG240: bold}
PROCOPT= {Processing Options}
{OFDSTYPE,PSEG},
(HRIPSIZE,175,100,MILLS)
PSEG instead of DOC
horizontal/vertical size in millimeters
{also possible: inch or cent}
2. Allocate a new output file for the page segment
Page segments are best stored in a partitioned data set {PDS} with record format of VBM and logical
record length of 8206.
Example:
FILENAME ADMIMAGE 'E.SEUGI.ADMIMAGE' DISP={MOD,CATLG}
RECFM=VBM LRECL=8206 BLKSIZE=8210 SPACE{8206,(300,600,1 0» DSORG=PO;
FILENAME ADM IMAGE CLEAR;
3. Use the correct fileref and the appropriate options in your SAS session
•
Allocate your GDDM nickname file with the fileref ADMDEFS
•
Allocate the output file for the page segment. The file ref should match the TONAME= that you defined
within the nickname file (in this case ADMIMAGE).
Specify GOPTIONS DEVICE=GDDMFAM4 and GDDMNICKNAME=PSEG1 {nickname of GDDM
nickname file defined with NAME=}.
579
Example:
FILENAME ADMDEFS
FILENAME ADMIMAGE
'E.SEUGI.ADMDEFS';
'E.SEUGI95.ADMIMAGE(IMG1),;
GOPTIONS DEVICE=GDDMFAM4 GDDMNICKNAME=PSEG1;
proc gchart data=sasuser.crime;
vbar burglary;
run;
Nickname File
Output File
E.SEUGI.ADMDEFS
E.SEUGI.ADMIMAGE(IMG1 )
ADMMNICK NAME=PSEG1
TONAME=ADMIMAGE
FILENAME ADMIMAGE 'E.SEUGI.ADMIMA (lMG1)';
FILENAME ADMDEFS 'E.SEUGI.ADMDEFS';
~
,
GOPTIONS device=gddmfam4 gddmnickname=PSEG1;
580
4. Include the page segment in your DCF/GML script file and process
.*------------OCF/GML Script File ---------*
:gdoc language='sgerman~.
:body.
:h1.Swissair Information Systems
:p.text text text text text text text text
text text text text text text text text text
:fig frame=box place=inline;
.si IMG1· inline
:efig.
:p.more text text text text text text text
:egdoc.
You will have to invoke DCF with the parameter SEGLlB('E.SEUGI.ADMIMAGE1 or by allocating the page
segment file with ddname SCRPTSEG.
Of course it is also possible to produce page segments for DCF/GML in batch or in SCL programs. You will
then have to run TSO and DCF in batch mode.
Conclusion
Even on mainframes there are almost no restrictions to printing SAS output in appealing and attractive
designs. As well as producing neat and sophisticated output, you may enjoy the benefits of the mainframe:
central printing with post processing, time controlled batch processing and data security.
Trademarks
SAS®, SAS/GRAPH® are registered Trademarks of SAS Institute Inc., Cary, NC, USA.
GODM, DCF are registered Trademarks of IBM®.
References
Observations 1Q92 : Using GDDM Interface Drivers with SAS/GRAPH Software, Martin Mi'ncey
Authors & Contact
Swissair Information Systems
.CAMS
Rolf Annen
Christel Ott
CH-8058 Zurich;.Airport
+41 1 81233 03 (R. Annen)
+41 1 81221 14 (C. Ott)
+41 1 81291 71
FAX:
Internet: [email protected]
581
".,>:''''''''' ....~''''~,f~:;);;..~'3·~~''~'!'~.~~ .. l=~~1''1:~'''-=~'~~:5:.-,,'.,.,_"'C:.-~7,:::>t"'C~'P"'g..,,-.>-=~_~=-r.'=.. ,....-"·~'...-'''''.' .. ''''':i-~·--,.;:j~_.~.-:;-:-::-,'~-,'<_~~·~,--~-.. ~,->"'--;:"-'C-'"-_"7:.-",-,",""_"~·,
11
")
5wiSsairC
Cargo and Mail Performance (Revenue, Traffic, Yield)
~
MIS KE
Monthly Report: February 1994
DICTIONARY
English-German
German-English
Vocabulary
absent-minded adj. zerstreut, geistesabwesend
absurd adj. absurd, sinnwidrig, widersinnig, unsinnig,
sinnlos
accelerator s. 1. (Motor.) Gaspedal, Gashebel
accelerator s. 2. (Anat.) Treibmuskel
achievement s. AusfOhrung, DurchfOhrung, Vollendung,
vollendetes Werk, Leistung, Errungenschaft, Heldentat,
act as V.l. + prep. dienen als
actual adj. tatsachlich, wirklich, eigentlich, real
add V.l. hinzufOgen, hinzurechnen, hinzusetzen
adult adj. erwachsen, reif
adverb s. (Gram.) Adverb, Umstandswort
aerial s. (Rad.) Antenne
agent s. 1. Urheber, Handelnder, Wirkender
agent s. 2. Ursache, Werkzeug, Agens, Mittel, wirkende
Kraft
air defence s. Luftschutz
Alsatian dog s. (Zoo/.) deutscher Schaferhund, Wolfshund
ambulance s. 1. (Mil.) Feldlazarett
ambulance s. 2. (Motor.) Krankenwagen, Sanitatswagen
amelioration s. 1. Verbesserung
amelioration s. 2. Uiuterung, Veredelung
amiable adj. liebenswOrdig, leutselig, freundlich, liebreich,
reizend
ancestor s. Ahn, Vorfahr, Stammvater
apothecary s. (obs.) Apotheker
appearance s. 1. Erscheinen, Sichtbarwerden, Auftreten,
Vorkommen, Veraffentlichung
appearance s. 2. aussere Erscheinung, Ausseres, Auss8hen, Anblick, Anschein, Schein
applicant s. Bewerber, Antragsteller
apprentice V.l. in die Lehre geben
April fool s. Aprilscherz
arachnoid adj. spinnenartig, spinnwebartig
argumentative adj. streitsOchtig, streitlustig
army s. (Mil.) Heer, Armee, Landstreitkrafte (pl.)
article s. Abschnitt, Paragraph, Aufsatz, Artikel
articulated lorry s. (Motor.) Sattelschlepper
artificial adj. kOnstlich, gekOnstelt, erkOnstelt, erheuchelt,
erdichtet, vorgetauscht, nachgemacht, unecht,
aspire v.i. streben, trachten, sich sehnen, verlangen
assault s. Beleidigung
assembly line s. Montagebahn, Montagerampe, Montageband, Fliessband, I aufendes Band
astonishment s. Erstaunen, Oberraschung, BestOrzung,
Verwunderung
attache-case s. Aktentasche, Aktenmappe, Stadtkoffer
aware adj. gewahr, unterrichtet, in Kenntnis
back s. (Anal.) ROcken
backbone s. Wirbelsaule, ROckgrat
back-seat s. (Motor.) ROcksitz
back-seat driver s. Besserwisser
bail out V.t. + adv. 1. loskaufen. auslasen, freikaufen
bail out V.l. + adv. 2. (Naut.) ausschOpfen, leer schOpfen
bait s. Kader, Lockspeise
bale V.t. in Ballen verpacken, emballieren
bale s. 1. Ballen
bale s. 2. (obs.) Elend, Leid, Weh, Qual
ballast s. (Naul.) Ballast
ballast s. (Rai/w.) Bettung, (Stein)schotter
bankrupt adj. bank(e)rott, zahlungsunfahig
bankrupt s. Bankrotteur, Zahlungsunfahige(r)
bare adj. nackt, unbekleidet, bloss, entblasst, bar, blank
barge s. (Naut.) Lastkahn, Schleppkahn, Leichter, Kanalschiff, Zille, Schute
barrel s. 1. Fass, Tonne
Vocabulary
barrel s. 2. Gewehrlauf, GeschOtzrohr, Walze, Trommel,
Zylinder
base s. 1. Basis, Grundlage
base s. 2. (Chem.) Grundstoff, Base, Hauptbestandteil
basin s.1. Becken, SchOssel, Schale, Bassin
basin s. 2. (Geo/.) Stromgebiet, Mulde, Kessel, Talbecken
basin s. 3. (Naut.) Hafenbecken, Innenhafen
be aware of irr.v.i. + adj. gewahr sein um, unterrichtet
sein Ober, in Kenntnis sein von
be off irr.v.i. + adv. 1. fortgehen, abreisen, ausfallen
be off irr.v.i. + adv. 2. verdorben sein (fish, eggs)
be off irr.v.i. + prep. 3. frei werden von, sich ablasen von
be over irr.v.i. + adv. 1. vorbeisein, Obrig sein, vorOber
sein
be over irr.v.i. + prep. 2. darOber sein, Obersteigen
be up and about Camp. (wieder) auf den Beinen sein
be up and coming Camp. f1ink sein, auf Draht sein,
tOchtig sein
be up and doing Camp. aktiv sein, rege sein, tiitig sein
be up and running Camp. eingefOhrt sein, installiert sein
bear s. (Zool.) Bar
beat s. 1. Revier, Runde, Bezirk
beat irr.v.t. 2. schlagen, prOgeln, besiegen
beat up V.t. + adv. schlagen, rOhren, zusammentrommeln, verdreschen, verhauen
become aware of irr.v.i. + adj. gewahr werden, unterrichtet sein Ober, in Kenntnis sein von
behaviour s. Benehmen, Betragen, Verhalten
behead V.t. enthaupten, kElpfen
beheading s. Enthauptung
behind bars s. hinter Gittern
belch v.i. rOlpsen, aufstossen
bend s. Kurve (Strasse), Biegung, KrOmmung
best man s. BrautfOhrer
bigoted adj. fanatisch fromm, bigott, blind ergeben, voreingenommen
bin s. Kasten, Behalter
birch s. (Bot.) Birke
birchtree s. (Bot.) Birke
bitchy adj. spOttisch, narglerisch
• bladder s. (Anal.) Harnblase, Blase, Schwimmblase
bland adj. mild, sanft, einschmeichelnd
blissful adj. paradiesisch, glOckselig, wonnig, wonnevoll
blond adj. blond (nur fOr Manner) .
blonde adj. blond (nur far Frauen)
blonde s. Blondine
.
blow up irr.v.i. + adv. 1. aufblasen,aufblahen
blow up irr.v.i. + adv. 2. (in die Luft) sprengen, springen
lassen
blow up irr.v.i. + adv. 3. vergrassern (Photo)
blunt adj. stumpf, abgestumpft, unempfindlich, plump,
grob; barsch, derb, ungeschliffen,
blunt v.t. stumpf machen, abstumpfen
bluntness s. Stumpfheit;Plumpheit, Derbheit, taktlose Offenheit
boarding-house s. (School J Pension
boarding-school s. (School.) Internat, Pension at, Heimschule
.
boarding-school s. Internat, Pensionat, Heimschule
boll v.I. kochen, sieden
boisterous adj. stOrmisch, heftig, unbAndig, ungestOm
boisterous adj. 2. U\rmend, tobend, gerauschvoll
bOl1d s. (Comm.) Obligation, Schuldverschreibung, ROckschein, Schuldschein, Pfandbrief, Anteihschein
bond s. 1. Bindung, Verbindung, Bund, BOndnis.
22. Mai 1995
583
I
l.
ellS, Top five list
584
iHAY 15TH, 1995
4.0 ellS, Preflight
4.1
Top six, OlMAY94 - 30APR95
AOS SEAT SELECTION
+
ALLOCATION
Froqu ..noy I
Pax In 10'000
100
70
20
10
M ..y
..Jun
...lui
Aug
=
Sep
Nega1Ivw
--
Oat
Nov
Ceo
Apr
A01 BOOKING / RESERVATIONS
Frequ .. ncy I
Pax In 10'000
100
70
20
=
Negative
_ _
A04 INFORMATION
Froqu .. ncy I
Pax In 10'000
100
80
70
eo
so
20
10
..Jun
Aug
=
s.p
NegatIve
--
Oct
Nov
Apr
OIS, Preflight
585