22data work.orig work.deleted work.changed work.appended;
25 call symputx(
'delname',name);
26 output work.orig work.deleted;
28 else if _n_=2 then
do;
30 call symputx(
'modname',name);
31 call symputx(
'modval',age);
41%mp_storediffs(libby.class,work.orig,NAME WEIGHT
52 desc=Checking preparation
case,
53 outds=work.test_results
58delete from libby.class where name in ("&delname","&modname");
59proc append base=libby.class data=work.appended;
60proc append base=libby.class data=work.changed;
64%mp_assertscope(SNAPSHOT)
65%mp_stripdiffs(libby.class
68 ,outds=work.mp_stripdiffs
71%mp_ds2md(work.mp_stripdiffs)
72%mp_assertscope(COMPARE)
76 desc=Checking error condition,
77 outds=work.test_results
84 set work.mp_stripdiffs;
85 if upcase(_____DELETE__THIS__RECORD_____)='NO' and name="&delname"
86 then call symputx('delpass',1);
87 if name="&modname" and age=&modval then call symputx('modpass',1);
88 if upcase(_____DELETE__THIS__RECORD_____)='YES' and name="Newbie"
89 then call symputx('addpass',1);
94 desc=Ensuring deleted record is back in the dataset,
95 outds=work.test_results
99 desc=Ensuring modified record now has old value,
100 outds=work.test_results
104 desc=Ensuring added record is now marked for deletion,
105 outds=work.test_results