Hi:
You have a few different issues that probably require you to contact Tech Support:
1) I remember that PDF output had to be created differently in SAS 8.0, SAS 8.1 and SAS 8.2 -- if I remember correctly, in SAS 8.0, you had to use ODS PRINTER to create a PostScript file and then you had to manually distill the postscript file into a PDF file using Adobe Distiller, (as described on page 6 of this SUGI paper):
http://www2.sas.com/proceedings/sugi25/25/btu/25p064.pdf
2) By SAS 8.2, the current ODS PDF syntax was production and you did not need a separate distiller step -- so it is really crucial for you to know EXACTLY which version of SAS you are running on the mainframe.
Next, there is a new syntax for working with DATA step programs and ODS. It is described in these papers:
http://support.sas.com/techsup/technote/ts664.html
http://www2.sas.com/proceedings/sugi23/Appdevel/p21.pdf
http://www.ats.ucla.edu/stat/sas/library/ods_work_for_you.pdf
http://www.ats.ucla.edu/stat/SAS/library/ods.pdf
The problem that you will run into is described in this Tech Support Note:
http://support.sas.com/techsup/unotes/SN/005/005486.html
Your sample program falls into the category (from the TS Note) of a program that is attempting to use DATA _NULL_ to create output, but is using an "old" FILE PRINT (thus bypassing ODS) instead of the "new" FILE PRINT ODS.
If you have access to SAS 8.2 on Windows, you might try running this sample program. It illustrates the difference between the "old" FILE PRINT and the "new" FILE PRINT ODS. (I added more data lines so the output would be longer.)
[pre]
data xxx;
infile datalines length=lg;
length zzz $154;
input zzz $varying. lg;
return;
datalines;
*****************fdgsdfgsdfg**************
Jan05 Feb05 Mar05
Twas brillig and the slithy toves
Did gyre and gimble in the wabe
All mimsy were the borogroves
And the mome raths outgrabe.
;
run;
ods pdf file='c:\temp\withODS.pdf';
title 'Really using ODS to create the output';
title2 'As a table';
data _null_;
set xxx;
file print ods;
put _ods_;
run;
proc print data=xxx label noobs
style(table)={rules=none frame=void cellspacing=0};
title2 'As a Table without lines';
var zzz /
style(header)={background=white};
label zzz='The Output';
run;
ods pdf close;
ods pdf file='c:\temp\withoutODS.pdf';
title 'Capturing the FILE PRINT output as a "block"';
title2 'Expect to see problems with this output';
data _null_;
set xxx;
file print;
put @1 zzz $char154.;
run;
ods pdf close;
[/pre]
For more help with FILE PRINT ODS or with your ODS, PDF and mainframe issues (particularly if you ARE running only SAS 8.0), then you really need to contact SAS Technical Support.
Good luck,
cynthia