SASUnit Examples  Version 1.2
_sasunit_reportdetailhtml.sas
Go to the documentation of this file.
1 
22 /* change log
23  29.01.2013 BB Hard coded date and time formats replaced. ReportDetail formats 49 and 50 applied.
24  08.01.2013 KL Empty cells are rendered incorrectly in MS IE. So   is now used as contents of an empty cell
25  26.09.2008 AM bug fixing NLS: standard description texts for assertLog(Msg)
26  18.08.2008 AM added national language support
27  11.08.2008 AM Frameseite für den Vergleich zweier Reports bei ASSERTREPORT einbinden
28  07.07.2008 AM Formatierung für assertColumns verbessert
29  05.02.2008 AM assertManual nach assertReport umgestellt
30  29.12.2007 AM Informationen zum Prüfling hinzugefügt
31  15.12.2007 AM überflüssige Variable hlp entfernt.
32 */
33 
34 %MACRO _sasunit_reportDetailHTML (
35  i_repdata =
36  ,i_scnid =
37  ,i_casid =
38  ,o_html =
39 );
40 
41 %LOCAL
42  l_nls_reportdetail_errors
43 ;
44 %LET l_nls_reportdetail_errors = %STR(error(s));
45 
46 DATA _null_;
47  SET &i_repdata END=eof;
48  WHERE scn_id = &i_scnid AND cas_id = &i_casid;
49 
50  FILE "&o_html";
51 
52  IF _n_=1 THEN DO;
53 
54  %_sasunit_reportPageTopHTML(
55  i_title = %str(&g_nls_reportDetail_001 &i_scnid..&i_casid | &g_project - &g_nls_reportDetail_002)
56  ,i_current = 0
57  )
58  END;
59 
60  LENGTH
61  abs_path $ 256
62  hlp $ 200
63  hlp2 $ 200
64  errcountmsg $ 50
65  ;
66 
67  IF _n_=1 THEN DO;
68 
69  PUT '<table><tr>';
70  PUT " <td>&g_nls_reportDetail_028</td>";
71  PUT ' <td><a class="lightlink" title="' "&g_nls_reportDetail_003 " scn_id z3. '" href="cas_overview.html#scn' scn_id z3. '">' scn_id z3. '</a></td>';
72  PUT '</tr><tr>';
73  PUT " <td>&g_nls_reportDetail_029</td>";
74  PUT ' <td><a class="lightlink" title="' "&g_nls_reportDetail_003 " scn_id z3. '" href="cas_overview.html#scn' scn_id z3. '">' scn_desc +(-1) '</a></td>';
75  PUT '</tr><tr>';
76  PUT " <td>&g_nls_reportDetail_030</td>";
77 
78  abs_path = resolve ('%_sasunit_abspath(&g_root,' !! trim(scn_path) !! ')');
79 
80  PUT ' <td><a class="lightlink" title="' "&g_nls_reportDetail_004 &#x0D;" abs_path +(-1) '" href="' abs_path +(-1) '">' scn_path +(-1) '</a></td>';
81  PUT '</tr><tr>';
82  PUT " <td>&g_nls_reportDetail_031</td>";
83 
84  IF scn_errorcount GT 0 THEN DO;
85  errcountmsg = '(' !! put(scn_errorcount, 3.) !! ' ' !! "&l_nls_reportdetail_errors." !! ')';
86  END;
87  ELSE DO;
88  errcountmsg = '';
89  END;
90 
91  PUT ' <td><a class="lightlink" title="' "&g_nls_reportDetail_005" '" href="' scn_id z3. '_log.html">' scn_start &g_nls_reportDetail_050 '</a>&nbsp;<span class="logerrcountmsg">' errcountmsg '</span> </td>';
92 
93  duration = scn_end - scn_start;
94 
95  PUT '</tr><tr>';
96  PUT " <td>&g_nls_reportDetail_032</td>";
97  PUT ' <td>' duration &g_nls_reportDetail_049 's</td>';
98  PUT '</tr><tr>';
99  PUT " <td>&g_nls_reportDetail_033</td>";
100  PUT ' <td>' cas_id z3. '</td>';
101  PUT '</tr><tr>';
102  PUT " <td>&g_nls_reportDetail_034</td>";
103  PUT ' <td>' cas_desc +(-1) '</td>';
104 
105  IF cas_auton = '0' THEN hlp = '&g_sasautos';
106  ELSE hlp = '&g_sasautos' !! put (cas_auton,1.);
107 
108  abs_path = resolve ('%_sasunit_abspath(' !! trim(hlp) !! ',' !! trim(cas_pgm) !! ')');
109 
110  PUT '</tr><tr>';
111  PUT " <td>&g_nls_reportDetail_035</td>";
112  PUT ' <td><a class="lightlink" title="' "&g_nls_reportDetail_006 &#x0D;" abs_path +(-1) '" href="' abs_path +(-1) '">' cas_pgm +(-1) '</a></td>';
113  PUT '</tr><tr>';
114  PUT " <td>&g_nls_reportDetail_031</td>";
115  PUT ' <td><a class="lightlink" title="' "&g_nls_reportDetail_007" '" href="' scn_id z3. '_' cas_id z3. '_log.html">' cas_start &g_nls_reportDetail_050 '</a></td>';
116  PUT '</tr><tr>';
117  PUT " <td>&g_nls_reportDetail_008</td>";
118  PUT '</tr></table>';
119 
120  PUT '<table>';
121  PUT '<tr>';
122  PUT ' <td class="tabheader">' "&g_nls_reportDetail_009</td>";
123  PUT ' <td class="tabheader">' "&g_nls_reportDetail_010</td>";
124  PUT ' <td class="tabheader">' "&g_nls_reportDetail_011</td>";
125  PUT ' <td class="tabheader">' "&g_nls_reportDetail_012</td>";
126  PUT ' <td class="tabheader">' "&g_nls_reportDetail_013</td>";
127  PUT ' <td class="tabheader">' "&g_nls_reportDetail_014</td>";
128  PUT '</tr>';
129  END;
130 
131  PUT '<tr id="tst' tst_id z3. '">';
132  PUT ' <td class="idcolumn">' tst_id z3. '</td>';
133  PUT ' <td class="datacolumn">' tst_type +(-1) '</td>';
134  SELECT(upcase(tst_type));
135  WHEN ('ASSERTLOG') DO;
136  IF tst_desc=' ' THEN tst_desc="&g_nls_reportDetail_041";
137  END;
138  WHEN ('ASSERTLOGMSG') DO;
139  IF tst_desc=' ' THEN tst_desc="&g_nls_reportDetail_047";
140  END;
141  OTHERWISE;
142  END;
143  IF tst_desc = ' ' THEN tst_desc='&nbsp;';
144  PUT ' <td class="datacolumn">' tst_desc +(-1) '</td>';
145  SELECT(upcase(tst_type));
146  WHEN ('ASSERTCOLUMNS') DO;
147  IF tst_act = ' ' THEN tst_act ='&nbsp;';
148  IF tst_exp = ' ' THEN tst_exp ='&nbsp;';
149  PUT ' <td class="datacolumn"><a class="lightlink" title="' "&g_nls_reportDetail_015" '" href="' scn_id z3. '_' cas_id z3. '_' tst_id z3. '_cmp_exp.html">' "&g_nls_reportDetail_038" '</a><br /><br />' tst_exp '</td>';
150  PUT ' <td class="datacolumn"><a class="lightlink" title="' "&g_nls_reportDetail_016" '" href="' scn_id z3. '_' cas_id z3. '_' tst_id z3. '_cmp_act.html">' "&g_nls_reportDetail_038" '</a><br />';
151  PUT ' <a class="lightlink" title="' "&g_nls_reportDetail_017" '" href="' scn_id z3. '_' cas_id z3. '_' tst_id z3. '_cmp_rep.html">' "&g_nls_reportDetail_039" '</a><br />' tst_act '</td>';
152  END;
153  WHEN ('ASSERTLIBRARY') DO;
154  PUT ' <td class="datacolumn"><a class="lightlink" title="' "&g_nls_reportDetail_018" '" href="' scn_id z3. '_' cas_id z3. '_' tst_id z3. '_library_exp.html">' "&g_nls_reportDetail_040" '</a></td>';
155  PUT ' <td class="datacolumn"><a class="lightlink" title="' "&g_nls_reportDetail_019" '" href="' scn_id z3. '_' cas_id z3. '_' tst_id z3. '_library_act.html">' "&g_nls_reportDetail_040" '</a><br />';
156  PUT ' <a class="lightlink" title="' "&g_nls_reportDetail_017" '" href="' scn_id z3. '_' cas_id z3. '_' tst_id z3. '_library_rep.html">' "&g_nls_reportDetail_039" '</a></td>';
157  END;
158  WHEN ('ASSERTREPORT') DO;
159  IF tst_exp NE ' ' AND tst_act NE ' ' THEN DO;
160  PUT ' <td class="datacolumn"><a class="lightlink" title="' "&g_nls_reportDetail_020" '" href="_' scn_id z3. "_" cas_id z3. "_" tst_id z3. '_rep.html">' tst_exp +(-1) '</a></td>';
161  PUT ' <td class="datacolumn"><a class="lightlink" title="' "&g_nls_reportDetail_020" '" href="_' scn_id z3. "_" cas_id z3. "_" tst_id z3. '_rep.html">' tst_act +(-1) '</a></td>';
162  END;
163  ELSE DO;
164  IF tst_exp NE ' ' THEN
165  PUT ' <td class="datacolumn"><a class="lightlink" title="' "&g_nls_reportDetail_021" '" href="_' scn_id z3. '_' cas_id z3. '_' tst_id z3. '_man_exp' tst_exp +(-1) '">' tst_exp +(-1) '</a></td>';
166  ELSE
167  PUT ' <td class="datacolumn">&nbsp;</td>';
168  IF tst_act NE ' ' THEN DO;
169  IF tst_res=1 THEN hlp = trim (tst_act) !! " - &g_nls_reportDetail_022!";
170  ELSE hlp = tst_act;
171  PUT ' <td class="datacolumn"><a class="lightlink" title="' "&g_nls_reportDetail_023" '" href="_' scn_id z3. '_' cas_id z3. '_' tst_id z3. '_man_act' tst_act +(-1) '">' hlp +(-1) '</a></td>';
172  END;
173  ELSE
174  PUT ' <td class="datacolumnerror">' "&g_nls_reportDetail_048" '</td>';
175  END;
176  END;
177  WHEN ('ASSERTLOG') DO;
178  hlp = scan(tst_exp,1,'#');
179  hlp2 = scan(tst_exp,2,'#');
180  PUT ' <td class="datacolumn">' "&g_nls_reportDetail_036: " hlp +(-1) ", &g_nls_reportDetail_037: " hlp2 +(-1) '</td>';
181  hlp = scan(tst_act,1,'#');
182  hlp2 = scan(tst_act,2,'#');
183  PUT ' <td class="datacolumn">' "&g_nls_reportDetail_036: " hlp +(-1) ", &g_nls_reportDetail_037: " hlp2 +(-1) '</td>';
184  END;
185  WHEN ('ASSERTLOGMSG') DO;
186  hlp = substr(tst_exp,1,1);
187  if hlp='1' then hlp="&g_nls_reportDetail_042";
188  else hlp="&g_nls_reportDetail_043";
189  tst_exp= substr(tst_exp,2);
190  PUT ' <td class="datacolumn">' "&g_nls_reportDetail_044 '" tst_exp +(-1) "' " hlp +(-1) '</td>';
191  hlp = substr(tst_act,1,1);
192  if hlp='1' then hlp="&g_nls_reportDetail_045";
193  else hlp="&g_nls_reportDetail_046";
194  PUT ' <td class="datacolumn">' hlp +(-1) '</td>';
195  END;
196  OTHERWISE DO;
197  IF tst_exp NE ' ' THEN
198  PUT ' <td class="datacolumn">' tst_exp +(-1) '</td>';
199  ELSE
200  PUT ' <td class="datacolumn">&nbsp;</td>';
201  IF tst_act NE ' ' THEN
202  PUT ' <td class="datacolumn">' tst_act +(-1) '</td>';
203  ELSE
204  PUT ' <td class="datacolumn">&nbsp;</td>';
205  END;
206  END;
207 
208  PUT ' <td class="iconcolumn"><img src=' @;
209  SELECT (tst_res);
210  WHEN (0) PUT '"ok.png" alt="OK"' @;
211  WHEN (1) PUT '"error.png" alt="' "&g_nls_reportDetail_025" '"' @;
212  WHEN (2) PUT '"manual.png" alt="' "&g_nls_reportDetail_026" '"' @;
213  OTHERWISE PUT '"?????" alt="' "&g_nls_reportDetail_027" '"' @;
214  END;
215  PUT '></img></td>';
216  PUT '</tr>';
217 
218  IF eof THEN DO;
219  PUT '</table>';
220  %_sasunit_reportFooterHTML()
221  END;
222 
223 RUN;
224 
225 %MEND _sasunit_reportDetailHTML;