33 %MACRO _reportTreeHTML (i_repdata =
38 %LOCAL d_tree d_tree1 d_tree2 d_la i;
40 %LET l_title = &g_project | SASUnit;
42 %_tempFilename(d_tree)
43 %_tempFilename(d_tree1)
44 %_tempFilename(d_tree2)
48 DATA &d_tree1 (KEEP=label popup target lvl term lst1-lst5);
49 LENGTH label popup target $255 lvl term lst1-lst5 8;
52 BY scn_id cas_id tst_id;
54 tst_type=tranwrd(tst_type,"^_","");
55 tst_desc=tranwrd(tst_desc,"^_","");
58 label = "&g_nls_reportTree_001";
59 popup = "&g_nls_reportTree_002";
60 target = "scn_overview.html";
70 IF first.scn_id THEN DO;
72 popup = "&g_nls_reportTree_003 " !! put(scn_id,z3.) !! ': &
#x0D;' !! scn_desc;
73 target =
"cas_overview.html#SCN" !! put(scn_id,z3.) !!
"_";
82 IF first.cas_id THEN DO;
83 label = put(cas_id,z3.);
84 popup =
"&g_nls_reportTree_004 " !! put (cas_id,z3.) !!
': 
' !! cas_desc;
85 target =
'cas_' !! put(scn_id,z3.) !!
"_" !! put (cas_id,z3.) !!
".html";
93 label = put (tst_id, z3.) !!
' (' !! trim(tst_type) !!
')';
94 popup =
"&g_nls_reportTree_005 " !! put (tst_id,z3.) !!
': 
' !! tst_desc;
95 target =
'cas_' !! put(scn_id,z3.) !!
"_" !! put (cas_id,z3.) !!
".html#TST" !! put (tst_id,z3.);
104 DATA &d_tree2 (KEEP=label popup target lvl term lst1-lst5);
105 LENGTH label popup target $255 lvl term lst1-lst5 8;
108 BY cas_auton pgm_id scn_id cas_id tst_id;
110 tst_type=tranwrd(tst_type,
"^_",
"");
111 tst_desc=tranwrd(tst_desc,
"^_",
"");
112 cas_pgm =tranwrd(cas_pgm,
"^_",
"");
115 label =
"&g_nls_reportTree_006";
116 popup =
"&g_nls_reportTree_007";
117 target =
"auton_overview.html";
128 IF first.cas_auton THEN DO;
130 WHEN (0) label = tsu_sasunit;
131 WHEN (1) label = tsu_sasunit_os;
132 WHEN (2) label = tsu_sasautos;
134 WHEN (&i+2) label = tsu_sasautos&i;
136 OTHERWISE label="&g_nls_reportAuton_015";
139 popup = "&g_nls_reportTree_009 sasunit:" !! '&
#x0D;' !! label;
140 ELSE IF cas_auton=1 THEN
141 popup =
"&g_nls_reportTree_009 os_specific sasunit:" !!
'
' !! label;
142 ELSE IF cas_auton=2 THEN
143 popup =
"&g_nls_reportTree_009 sasautos:" !!
'
' !! label;
144 ELSE IF cas_auton>2 THEN
145 popup =
"&g_nls_reportTree_009 sasautos" !! left(put(cas_auton-2,1.)) !!
':
' !! label;
147 popup =
"&g_nls_reportTree_010";
148 target =
"auton_overview.html#AUTON";
149 IF cas_auton NE . THEN target = trim(target) !! put(cas_auton,z3.);
150 target = trim(target) !!
'_';
160 IF first.pgm_id THEN DO;
163 WHEN (0) popup = trim(tsu_sasunit) !! '/' !! cas_pgm;
164 WHEN (1) popup = trim(tsu_sasunit_os) !! '/' !! cas_pgm;
165 WHEN (2) popup = trim(tsu_sasautos) !! '/' !! cas_pgm;
167 WHEN (&i+2) popup = trim(tsu_sasautos&i) !! '/' !! cas_pgm;
169 OTHERWISE popup=cas_pgm;
171 popup = "&g_nls_reportTree_011: " !! '&
#x0D;' !! popup;
172 target =
"auton_overview.html#AUTON";
173 IF cas_auton NE . THEN target = trim(target) !! put(cas_auton,z3.);
174 target = trim(target) !!
'_' !! put(pgm_id,z3.) !!
"_";
183 IF first.cas_id THEN DO;
184 label = put(scn_id,z3.) !!
"_" !! put(cas_id,z3.);
185 popup =
"&g_nls_reportTree_012 " !! put(scn_id,z3.) !!
", &g_nls_reportTree_013 " !! put (cas_id,z3.) !!
': 
' !! cas_desc;
186 target =
'cas_' !! put(scn_id,z3.) !!
"_" !! put (cas_id,z3.) !!
".html";
194 label = put (tst_id, z3.) !!
' (' !! trim(tst_type) !!
')';
195 popup =
"&g_nls_reportTree_014 " !! put (tst_id,z3.) !!
'
' !! tst_desc;
196 target =
'cas_' !! put(scn_id,z3.) !!
"_" !! put (cas_id,z3.) !!
".html#TST" !! put (tst_id,z3.);
205 DATA &d_tree &d_la(KEEP=lvl RENAME=(lvl=nextlvl));
206 SET &d_tree1 &d_tree2 END=eof;
208 IF _n_>1 THEN OUTPUT &d_la;
223 FILE
"&o_html" LRECL=1024;
226 %_reportHeaderHTML(&l_title)
227 PUT " <script type=""text/javascript"">";
230 PUT " function toggleFolder(
id, imageNode) ";
232 PUT " var folder = document.getElementById(
id);
";
233 PUT " var l = imageNode.src.length;
";
234 PUT " if (imageNode.src.substring(l-20,l)==
""ftv2folderclosed.png
"" ||
";
235 PUT " imageNode.src.substring(l-18,l)==
""ftv2folderopen.png
"")
";
237 PUT " imageNode = imageNode.previousSibling;
";
238 PUT " l = imageNode.src.length;
";
240 PUT " if (folder == null)
";
243 PUT " else if (folder.style.display ==
""block
"")
";
245 PUT " if (imageNode != null)
";
247 PUT " imageNode.nextSibling.src =
""ftv2folderclosed.png
"";
";
248 PUT " if (imageNode.src.substring(l-13,l) ==
""ftv2mnode.png
"")
";
250 PUT " imageNode.src =
""ftv2pnode.png
"";
";
252 PUT " else if (imageNode.src.substring(l-17,l) ==
""ftv2mlastnode.png
"")
";
254 PUT " imageNode.src =
""ftv2plastnode.png
"";
";
257 PUT " folder.style.display =
""none
"";
";
261 PUT " if (imageNode != null)
";
263 PUT " imageNode.nextSibling.src =
""ftv2folderopen.png
"";
";
264 PUT " if (imageNode.src.substring(l-13,l) ==
""ftv2pnode.png
"")
";
266 PUT " imageNode.src =
""ftv2mnode.png
"";
";
268 PUT " else if (imageNode.src.substring(l-17,l) ==
""ftv2plastnode.png
"")
";
270 PUT " imageNode.src =
""ftv2mlastnode.png
"";
";
273 PUT " folder.style.display =
""block
"";
";
281 PUT
" <body class=""ftvtree"">";
282 PUT
" <div class=""directory"">";
283 PUT
' <h3><a class="el" href="overview.html" title="' "&g_nls_reportTree_015 &g_project" '" target="basefrm">' "&g_project" '</a></h3>';
284 PUT
" <div style=""display: block;"">";
287 ARRAY lst{5} lst1-lst5;
291 IF lst{i} THEN PUT
'<img src="ftv2blank.png" width=16 height=22 />' @;
292 ELSE PUT
'<img src="ftv2vertline.png" width=16 height=22 />' @;
295 IF lst{i} THEN PUT
'<img src="ftv2lastnode.png" width=16 height=22 />' @;
296 ELSE PUT
'<img src="ftv2node.png" width=16 height=22 />' @;
297 PUT
'<img src="ftv2doc.png" width=24 height=22 />' @;
301 IF lst{i} THEN PUT
'<img src="ftv2plastnode.png" width=16 height=22 '
302 'onclick="toggleFolder(''folder' folder +(-1)
''',
this)
"/>' @;
303 ELSE PUT '<img src="ftv2pnode.png
" width=16 height=22 '
304 'onclick="toggleFolder(
''folder
' folder +(-1) ''',
this)
"/>' @;
305 PUT '<img src="ftv2folderclosed.png
" width=24 height=22 '
306 'onclick="toggleFolder(
''folder
' folder +(-1) ''',
this)
"/>' @;
308 PUT '<a class="el
" href="' target +(-1) '" title="' popup +(-1) '" target="basefrm
">' label +(-1) '</a></p>';
309 IF NOT term AND lvl<nextlvl THEN PUT '<div id="folder
' folder +(-1) '">';
310 DO i=nextlvl+1 TO lvl;
315 PUT '</div></div></body></html>';
320 PROC DATASETS NOLIST NOWARN LIB=work;
321 DELETE %scan(&d_tree,1,.) %scan(&d_tree1,1,.) %scan(&d_tree2,1,.) %scan(&d_la,1,.);
324 %MEND _reportTreeHTML;