Я попробовал это:
data have ;
ncandidates=1;
ngames=3; controlppt=1; controlgame=2;
ppt1='Abc';
ppt2='Bcd';
infile cards dsd dlm='|';
input (var1-var21) ($);
cards;
1|2|a|1|3|b1|2|a|1|3|b1|2|a|1|3|b1|2|a|1|3|b
1|2|a|1|3|b1|2|a|1|3|b1|2|a|1|3|b1|2|a|1|3|b
;
run;
data have1;
infile cards dsd dlm='|';
input (var1-var2) ($);
cards;
1|2
2|3
3|4
4|5
5|6
;
run;
filename report '/home/sas/l119834/myreport.txt';
data _null_;
file report dsd dlm='|' ;
eof=0;
do until(eof);
set have end=eof;
if _n_=1 then put
32*'#'
/ '###Game Of Thrones'
/ 32*'#'
/ 'Number of Candidates =' ncandidates
// 32*'#'
/ 'Number of Games = ' ngames
// 32*'#'
/ 'Controlppt = ' controlppt
/ 'Controlgame = ' controlgame
/ 32*'#'
/ '# PPt 1 = ' ppt1
/ '# PPt 2 = ' ppt2
/ 'Input.Data='
;
put var1-var21 @@;
if eof then put / 32*'#';
end;
put // 83*'#'
/ '### Output Data'
/ 83* '#'
/ '# Output field name, usage = Output Area|Name'
/ '# Area = 0, 1, 2, 3, 4, 5'
// 'output.Name='
;
eof1=0;
do until(eof1);
set have1 end=eof;
put var1-var2 @@;
end;
run;
и получил это в отчете:
################################
###Game Of Thrones
################################
Number of Candidates =1
################################
Number of Games = 3
################################
Controlppt = 1
Controlgame = 2
################################
# PPt 1 = Abc
# PPt 2 = Bcd
1|2|a|1|3|b1|2|a|1|3|b1|2|a|1|3|b1|2|a|1|3|b|################################
###Game Of Thrones
################################
Number of Candidates =1
################################
Number of Games = 3
################################
Controlppt = 1
Controlgame = 2
################################
Input.Data=
# PPt 1 = Abc
# PPt 2 = Bcd
1|2|a|1|3|b1|2|a|1|3|b1|2|a|1|3|b1|2|a|1|3|b
################################
###################################################################################
### Output Data
###################################################################################
# Output field name, usage = Output Area|Name
# Area = 0, 1, 2, 3, 4, 5
output.Name=
1|2|2|3|3|4|4|5|5|6
Итак, первая половина повторяется дважды в выходных данных и Input.Name и фактическомвходные переменные выводятся в разных строках, тогда как я хотел, чтобы это было что-то вроде: input.Data=1|2|a|1|3|b1|2|a|1|3|b1|2|a|1|3|b1|2|a|1|3|b