38 %MACRO _sasunit_reportTreeHTML (
44 %LET l_title = &g_project | SASUnit;
46 %LOCAL d_tree d_tree1 d_tree2 d_la i;
47 %_sasunit_tempFilename(d_tree)
48 %_sasunit_tempFilename(d_tree1)
49 %_sasunit_tempFilename(d_tree2)
50 %_sasunit_tempFilename(d_la)
53 DATA &d_tree1 (KEEP=label popup target lvl term lst1-lst5);
54 LENGTH label popup target $255 lvl term lst1-lst5 8;
57 BY scn_id cas_id tst_id;
60 label = "&g_nls_reportTree_001";
61 popup = "&g_nls_reportTree_002";
62 target = "scn_overview.html";
72 IF first.scn_id THEN DO;
74 popup = "&g_nls_reportTree_003 " !! put(scn_id,z3.) !! ': &
#x0D;' !! scn_desc;
75 target =
"cas_overview.html#scn" !! put(scn_id,z3.);
84 IF first.cas_id THEN DO;
85 label = put(cas_id,z3.);
86 popup =
"&g_nls_reportTree_004 " !! put (cas_id,z3.) !!
': 
' !! cas_desc;
87 target =
'cas_' !! put(scn_id,z3.) !!
"_" !! put (cas_id,z3.) !!
".html";
95 label = put (tst_id, z3.) !!
' (' !! trim(tst_type) !!
')';
96 popup =
"&g_nls_reportTree_005 " !! put (tst_id,z3.) !!
': 
' !! tst_desc;
97 target =
'cas_' !! put(scn_id,z3.) !!
"_" !! put (cas_id,z3.) !!
".html#tst" !! put (tst_id,z3.);
106 DATA &d_tree2 (KEEP=label popup target lvl term lst1-lst5);
107 LENGTH label popup target $255 lvl term lst1-lst5 8;
110 BY cas_auton pgm_id scn_id cas_id tst_id;
113 label =
"&g_nls_reportTree_006";
114 popup =
"&g_nls_reportTree_007";
115 target =
"auton_overview.html";
126 IF first.cas_auton THEN DO;
128 WHEN (0) label = tsu_sasautos;
130 WHEN (&i) label = tsu_sasautos&i;
132 OTHERWISE label="(&g_nls_reportTree_008)";
135 popup = "&g_nls_reportTree_009 sasautos:" !! '&
#x0D;' !! label;
136 ELSE IF cas_auton>0 THEN
137 popup =
"&g_nls_reportTree_009 sasautos" !! left(put(cas_auton,1.)) !!
':
' !! label;
139 popup =
"&g_nls_reportTree_010";
140 target =
"auton_overview.html#auton";
141 IF cas_auton NE . THEN target = trim(target) !! put(cas_auton,z3.);
151 IF first.pgm_id THEN DO;
154 WHEN (0) popup = trim(tsu_sasautos) !! '/' !! cas_pgm;
156 WHEN (&i) popup = trim(tsu_sasautos&i) !! '/' !! cas_pgm;
158 OTHERWISE popup=cas_pgm;
160 popup = "&g_nls_reportTree_011: " !! '&
#x0D;' !! popup;
161 target =
"auton_overview.html#auton";
162 IF cas_auton NE . THEN target = trim(target) !! put(cas_auton,z3.);
163 target = trim(target) !!
'_' !! put(pgm_id,z3.);
172 IF first.cas_id THEN DO;
173 label = put(scn_id,z3.) !!
"_" !! put(cas_id,z3.);
174 popup =
"&g_nls_reportTree_012 " !! put(scn_id,z3.) !!
", &g_nls_reportTree_013 " !! put (cas_id,z3.) !!
': 
' !! cas_desc;
175 target =
'cas_' !! put(scn_id,z3.) !!
"_" !! put (cas_id,z3.) !!
".html";
183 label = put (tst_id, z3.) !!
' (' !! trim(tst_type) !!
')';
184 popup =
"&g_nls_reportTree_014 " !! put (tst_id,z3.) !!
'
' !! tst_desc;
185 target =
'cas_' !! put(scn_id,z3.) !!
"_" !! put (cas_id,z3.) !!
".html#tst" !! put (tst_id,z3.);
194 DATA &d_tree &d_la(KEEP=lvl RENAME=(lvl=nextlvl));
195 SET &d_tree1 &d_tree2 END=eof;
197 IF _n_>1 THEN OUTPUT &d_la;
212 FILE
"&o_html" LRECL=1024;
215 %_sasunit_reportHeaderHTML(&l_title)
216 PUT " <script type=""text/javascript"">";
219 PUT " function toggleFolder(
id, imageNode) ";
221 PUT " var folder = document.getElementById(
id);
";
222 PUT " var l = imageNode.src.length;
";
223 PUT " if (imageNode.src.substring(l-20,l)==
""ftv2folderclosed.png
"" ||
";
224 PUT " imageNode.src.substring(l-18,l)==
""ftv2folderopen.png
"")
";
226 PUT " imageNode = imageNode.previousSibling;
";
227 PUT " l = imageNode.src.length;
";
229 PUT " if (folder == null)
";
232 PUT " else if (folder.style.display ==
""block
"")
";
234 PUT " if (imageNode != null)
";
236 PUT " imageNode.nextSibling.src =
""ftv2folderclosed.png
"";
";
237 PUT " if (imageNode.src.substring(l-13,l) ==
""ftv2mnode.png
"")
";
239 PUT " imageNode.src =
""ftv2pnode.png
"";
";
241 PUT " else if (imageNode.src.substring(l-17,l) ==
""ftv2mlastnode.png
"")
";
243 PUT " imageNode.src =
""ftv2plastnode.png
"";
";
246 PUT " folder.style.display =
""none
"";
";
250 PUT " if (imageNode != null)
";
252 PUT " imageNode.nextSibling.src =
""ftv2folderopen.png
"";
";
253 PUT " if (imageNode.src.substring(l-13,l) ==
""ftv2pnode.png
"")
";
255 PUT " imageNode.src =
""ftv2mnode.png
"";
";
257 PUT " else if (imageNode.src.substring(l-17,l) ==
""ftv2plastnode.png
"")
";
259 PUT " imageNode.src =
""ftv2mlastnode.png
"";
";
262 PUT " folder.style.display =
""block
"";
";
270 PUT
" <body class=""ftvtree"">";
271 PUT
" <div class=""directory"">";
272 PUT
' <h3><a class="el" href="overview.html" title="' "&g_nls_reportTree_015 &g_project" '" target="basefrm">' "&g_project" '</a></h3>';
273 PUT
" <div style=""display: block;"">";
276 ARRAY lst{5} lst1-lst5;
280 IF lst{i} THEN PUT
'<img src="ftv2blank.png" width=16 height=22 />' @;
281 ELSE PUT
'<img src="ftv2vertline.png" width=16 height=22 />' @;
284 IF lst{i} THEN PUT
'<img src="ftv2lastnode.png" width=16 height=22 />' @;
285 ELSE PUT
'<img src="ftv2node.png" width=16 height=22 />' @;
286 PUT
'<img src="ftv2doc.png" width=24 height=22 />' @;
290 IF lst{i} THEN PUT
'<img src="ftv2plastnode.png" width=16 height=22 '
291 'onclick="toggleFolder(''folder' folder +(-1)
''',
this)
"/>' @;
292 ELSE PUT '<img src="ftv2pnode.png
" width=16 height=22 '
293 'onclick="toggleFolder(
''folder
' folder +(-1) ''',
this)
"/>' @;
294 PUT '<img src="ftv2folderclosed.png
" width=24 height=22 '
295 'onclick="toggleFolder(
''folder
' folder +(-1) ''',
this)
"/>' @;
297 PUT '<a class="el
" href="' target +(-1) '" title="' popup +(-1) '" target="basefrm
">' label +(-1) '</a></p>';
298 IF NOT term AND lvl<nextlvl THEN PUT '<div id="folder
' folder +(-1) '">';
299 DO i=nextlvl+1 TO lvl;
304 PUT '</div></div></body></html>';
309 PROC DATASETS NOLIST NOWARN LIB=work;
310 DELETE %scan(&d_tree,1,.) %scan(&d_tree1,1,.) %scan(&d_tree2,1,.) %scan(&d_la,1,.);
313 %MEND _sasunit_reportTreeHTML;