data invty.stock;
modify invty.stock;
recdate=today();
run;
data master;
modify master;
if mod='u' then x=1;
run;
data invty.stock;
modify invty.stock addinv;
by partno;
recdate=today();
instock=instock + nwstock;
run;
data master;
input ssn : $11. nickname $;
datalines;
134-56-9094 Megan
160-58-1223 Kathryn
161-60-5881 Joshua
;
data trans;
input ssn : $11. nickname $;
datalines;
134-56-9094 Meg
142-67-9888 Bill
160-58-1223 Kate
161-60-5881 .
;
data master;
update master trans updatemode=nomissingcheck;
by ssn;
run;
data master;
input ssn : $11. nickname $;
datalines;
134-56-9094 Megan
160-58-1223 Kathryn
161-60-5881 Joshua
;
data trans;
input ssn : $11. nickname $;
datalines;
134-56-9094 Meg
142-67-9888 Bill
160-58-1223 Kate
161-60-5881 .
;
data master;
modify master trans updatemode=nomissingcheck;
by ssn;
run;
data master;
input ssn : $11. nickname $;
datalines;
134-56-9094 Megan
160-58-1223 Kathryn
161-60-5881 Joshua
;
data trans;
input ssn : $11. nickname $;
datalines;
134-56-9094 Meg
142-67-9888 Bill
160-58-1223 Kate
161-60-5881 .
;
data master;
modify master trans updatemode=nomissingcheck;
by ssn;
if _iorc_=0 then replace;
run;
data master;
input ssn : $11. nickname $;
datalines;
134-56-9094 Megan
160-58-1223 Kathryn
161-60-5881 Joshua
;
data trans;
input ssn : $11. nickname $;
datalines;
134-56-9094 Meg
142-67-9888 Bill
160-58-1223 Kate
161-60-5881 .
;
data master;
modify master trans updatemode=nomissingcheck;
by ssn;
if _iorc_=0 then replace;
else _error_=0;
run;
data invty.stock;
set newp;
modify invty.stock point=tool_obs;
price=newprice;
recdate=today():
run;
data invty.stock;
set addinv;
modify invty.stock key=partno;
if _iorc_=0 then do;
instock=instock+nwstock;
recdate=today();
replace;
end;
else _error_=0;
run;
options source2;
%include sasautos(sysrc);
run;
data master;
input ssn : $11. nickname $;
datalines;
134-56-9094 Megan
160-58-1223 Kathryn
161-60-5881 Joshua
;
data trans;
input ssn : $11. nickname $;
datalines;
134-56-9094 Meg
142-67-9888 Bill
160-58-1223 Kate
161-60-5881 .
;
data master;
modify master trans updatemode=nomissingcheck;
by ssn;
if _iorc_=%sysrc(_sok) then replace;
else _error_ =0;
run;
data master;
input ssn : $11. nickname $;
datalines;
134-56-9094 Megan
160-58-1223 Kathryn
161-60-5881 Joshua
;
data trans;
input ssn : $11. nickname $;
datalines;
134-56-9094 Meg
142-67-9888 Bill
160-58-1223 Kate
161-60-5881 .
;
data master;
set trans;
modify master key=ssn;
i+1;
if _iorc_=%sysrc(_sok) then do;
set trans point=i;
replace;
end;
else _error_=0;
run;
data master(index=(ssn));
input ssn : $11. nickname $;
datalines;
161-60-5881 Joshua
160-58-1223 Kathryn
134-56-9094 Megan
;
data trans;
input ssn : $11. nickname $;
datalines;
161-60-5881 Josh
160-58-1223 Kate
134-56-9094 Meg
142-67-9888 Bill
;
data master;
set trans(rename=(nickname=tnicknam));
modify master key=ssn;
if _iorc_=%sysrc(_sok) then do;
nickname=tnicknam;
replace;
end;
else _error_ = 0;
run;
data combine;
set lookup;
set primary key=partno;
select(_iorc_);
when (%sysrc(_sok)) do;
output;
end;
when (%sysrc(_dsenom)) do;
_error_ = 0;
end;
otherwise;
end;
run;
data master(index=(ssn));
input ssn : $11. nickname $;
datalines;
161-60-5881 Joshua
160-58-1223 Kathryn
134-56-9094 Megan
;
data trans;
input ssn : $11. tnicknam $;
datalines; 161-60-5881 Josh
160-58-1223 Kathy
134-56-9094 Meg
142-67-9888 Bill
160-58-1223 Kate
;
data master;
set trans;
modify master key=ssn;
if _iorc_=%sysrc(_sok) then do;
nickname=tnicknam;
replace;
end;
else_error_=0;
run;
data master(index=(ssn));
input ssn : $11. nickname $;
datalines; 161-60-5881 Joshua
160-58-1223 Kathryn
134-56-9094 Megan
;
data trans;
input ssn : $11. tnicknam $;
datalines;
161-60-5881 Josh
160-58-1223 Kathy
160-58-1223 Kate
134-56-9094 Meg
142-67-9888 Bill
;
data master;
set trans;
modify master key=ssn;
if _iorc_=%sysrc(_sok) then do;
nickname=tnicknam;
replace;
end;
else_error_=0;
run;
proc print data=master;
run;
data master(index=(ssn));
input ssn : $11. Nickname $;
datalines;
161-60-5881 Joshua
160-58-1223 Kathryn
134-56-9094 Megan
;
data trans;
input ssn : $11. tnicknam $;
datalines;
161-60-5881 Josh
160-58-1223 Kathy
160-58-1223 Kate
134-56-9094 Meg
142-67-9888 Bill
;
data master;
set trans;
modify master key=ssn/unique;
select (_iorc_);
when (%sysrc(_sok)) do;
nickname=tnicknam;
replace master;
end;
when (%sysrc(_dsenom)) do;
_error_=0;
end;
otherwise;
end;
proc print data=master;
run;
data master(index=(ssn));
input ssn : $11. nickname $;
datalines;
161-60-5881 Joshua
161-60-5881 Joshua
160-58-1223 Kathryn
134-56-9094 Megan
;
data trans;
input ssn : $11. nickname $;
datalines;
161-60-5881 Josh
160-58-1223 Kathy
134-56-9094 Meg
142-67-9888 Bill
;
data master;
set trans(rename=(nickname=tnicknam));
modify master key=ssn;
select (_iorc_);
when (%sysrc(_sok)) do;
nickname=tnicknam;
replace master;
end;
when (%sysrc(_dsenom)) do;
_error_=0;
end;
otherwise;
end;
proc print data=master;
run;
data master(index=(ssn));
input ssn : $11. nickname $;
datalines;
161-60-5881 Joshua
161-60-5881 Joshua
160-58-1223 Kathryn
134-56-9094 Megan
;
data trans;
input ssn : $11. tnicknam $;
datalines;
161-60-5881 Josh
160-58-1223 Kathy
134-56-9094 Meg
142-67-9888 Bill
;
data master;
set trans;
do until (_iorc_=%sysrc(_dsenom));
modify master key=ssn;
select (_iorc_);
when (%sysrc(_sok)) do;
nickname=tnicknam;
replace master;
end;
when (%sysrc(_dsenom)) do;
_error_=0;
end;
otherwise;
end;
end;
proc print data=master;
run;
data master(index=(ssn));
input ssn : $11. nickname $;
datalines;
161-60-5881 Joshua
161-60-5881 Joshua
160-58-1223 Kathryn
160-58-1223 Kathryn
134-56-9094 Megan
;
data trans;
input ssn : $11. tnicknam $;
datalines;
161-60-5881 Josh
160-58-1223 Kathy
160-58-1223 Kate
134-56-9094 Meg
142-67-9888 Bill
;
proc sort data=trans;
by ssn;
data master;
set trans;
by ssn;
dummy=0;
do until (_iorc_=%sysrc(_dsenom));
if dummy then ssn='999-99-9999';
modify master key=ssn;
select (_iorc_);
when (%sysrc(_sok)) do;
nickname=tnicknam;
replace master;
end;
when (%sysrc(_dsenom)) do;
_error=0;
if not last.ssn and not dummy then do;
dummy=1;
_iorc_=0;
end;
end;
otherwise;
end;
end;
proc print data=master;
run;
data lookup;
input partno $ quantity;
datalines;
A066 8
A220 2
A812 10
;
data primary(index=(partno));
input partno $ desc $;
datalines;
A021 motor
A033 bolt
A043 nut
A055 radiator
A066 hose
A066 hose2
A066 hose3
A078 knob
A220 switch
A223 bridge
;
data combine;
set lookup;
do until(_iorc_=%sysrc(_dsenom));
set primary key=partno;
select(_iorc_);
when (%sysrc(_sok)) do;
output;
end;
when (%sysrc(_dsenom)) do;
_error_=0;
end;
otherwise;
end;
end;
proc print data=combine;
run;
data lookup;
input partno $ district;
datalines;
A066 1
A066 2
A220 2
A812 10
;
data primary(index=(partno));
input partno $ desc $;
datalines;
A021 motor
A033 bolt
A043 nut
A055 radiator
A066 hose
A066 hose2
A066 hose3
A078 knob
A220 switch
223 bridge
;
proc sql;
create table shiplst as
select a.*, b.desc
from lookup as a, primary as b
where a.partno=b.partno;
quit;
proc print data=shiplst;
run;
data lookup;
input partno $ quantity;
datalines;
A066 8
A220 2
A812 10
;
data primary(index=(partno));
input partno $ desc $;
datalines;
A021 motor
A033 bolt
A043 nut
A055 radiator
A066 hose
A078 knob
A220 switch
A223 bridge
;
data combine;
set lookup;
set primary key=partno;
select(_iorc_);
when (%sysrc(_sok)) do;
output;
end;
when (%sysrc(_dsenom)) do;
_error_=0;
*desc = ' ';
output;
end;
otherwise;
end;
proc print data=combine;
run;
data lookup;
input partno $ quantity;
datalines;
A066 8
A220 2
A812 10
;
data primary(index=(partno));
input partno $ desc $;
datalines;
A021 motor
A033 bolt
A043 nut
A055 radiator
A066 hose
A078 knob
A220 switch
A223 bridge
;
data combine;
set lookup;
set primary key=partno;
select(_iorc_);
when (%sysrc(_sok)) do;
status="available";
output;
end;
when (%sysrc(_dsenom)) do;
desc=' ';
_error_=0;
output;
end;
otherwise;
end;
proc print data=combine;
run;
data sasuser.new;
set sasuser.keyvalues;
set dblib.mytable (dbkey=deptno) key=dbkey;
run;