SASUnit Examples  Version 1.2.1
endtestcall.sas
Go to the documentation of this file.
1 
24 /* change history
25  29.01.2013 KL changed link from _sasunit_doc.sas to Sourceforge SASUnit User's Guide
26  09.02.2011 KL added two macro variables for re-redirecting log- and printfile in testcases
27 */
28 
29 %MACRO endTestcall();
30 
31 %GLOBAL g_inTestcase;
32 %IF &g_inTestcase NE 1 %THEN %DO;
33  %PUT &g_error: endTestcall muss nach InitTestcase aufgerufen werden;
34  %RETURN;
35 %END;
36 %LET g_inTestcase=2;
37 
38 /* restore log and listing of test scenario */
39 %LET g_logfile =&g_log/%substr(00&g_scnid,%length(&g_scnid)).log;
40 %LET g_printfile=&&g_testout/%substr(00&g_scnid,%length(&g_scnid)).lst;
41 
42 PROC PRINTTO
43  LOG="&g_logfile."
44  PRINT="&g_printfile."
45 ;
46 RUN;
47 
48 /* determine and store end time */
49 PROC SQL NOPRINT;
50 %LOCAL l_casid;
51  SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=&g_scnid;
52 %LET l_casid = &l_casid;
53 PROC SQL NOPRINT;
54  UPDATE target.cas
55  SET
56  cas_end = %sysfunc(datetime())
57  WHERE
58  cas_scnid = &g_scnid AND
59  cas_id = &l_casid;
60 QUIT;
61 
62 /* delete listing if empty */
63 %LOCAL l_casid;
64 PROC SQL NOPRINT;
65  SELECT max(cas_id) INTO :l_casid FROM target.cas WHERE cas_scnid=&g_scnid;
66 QUIT;
67 %LET l_casid = &l_casid;
68 %LOCAL l_filled l_lstfile;
69 %LET l_filled=0;
70 %LET l_lstfile=&g_testout/%substr(00&g_scnid,%length(&g_scnid))_%substr(00&l_casid,%length(&l_casid)).lst;
71 DATA _null_;
72  INFILE "&l_lstfile";
73  INPUT;
74  CALL symput ('l_filled','1');
75  STOP;
76 RUN;
77 %IF NOT &l_filled %THEN %DO;
78  %LET l_filled=%_sasunit_delfile(&l_lstfile);
79 %END;
80 
81 ODS _ALL_ CLOSE;
82 
83 %MEND endTestcall;