/**********************************************************************/
libname invty '
/* SAS-data-library */
';
data invty.stock;
modify invty.stock;
recdate=today();
run;
/**********************************************************************/
data invty.stock;
modify invty.stock addinv;
by partno;
instock=instock+nwstock;
recdate=today();
run;
/**********************************************************************/
instock=instock+nwstock;
/**********************************************************************/
instock=nwstock;
/**********************************************************************/
data invty.stock;
modify invty.stock addinv;
by partno;
run;
/**********************************************************************/
data invty.stock;
set newp;
modify invty.stock point=tool_obs;
price=newprice;
recdate=today();
run;
/**********************************************************************/
data invty.stock;
set newp;
modify invty.stock point=tool_obs nobs=max_obs;
if _error_=1 then do;
put 'ERROR occurred for TOOL_OBS= ' tool_obs /
'during DATA step iteration ' _n_ /
'TOOL_OBS value may be out of range for data set.';
_error_=0;
stop;
end;
price=newprice;
recdate=today();
run;
/**********************************************************************/
data invty.stock;
set addinv;
modify invty.stock key=partno;
instock=instock+nwstock;
recdate=today();
run;
/**********************************************************************/
/* Example 1: No OUTPUT, REMOVE, or REPLACE Statements Are Specified */
data a b;
modify b;
/* Include here additional DATA step code that modifies the data */
/* in B and generates the data to be written to new or replacement */
/* data set A */
run;
/**********************************************************************/
/* Example 2: REMOVE Statement Is Specified Explicitly */
data a b;
modify b;
/* Additional code to change data in B */
if
/* some condition */
then
remove b;
run;
/**********************************************************************/
/* Example 3: OUTPUT and REPLACE Statements Are Specified Explicitly */
data a b;
modify b;
/* Change data in data set B */
if
/* some condition */
then
remove b;
else if
/* some other condition */
then
output a;
else replace b;
run;
/**********************************************************************/
data invty.stock;
set receive;
modify invty.stock key=partno;
select (_iorc_);
when (%sysrc(_sok)) do; /* Match located, */
/* rewrite obs. */
/* Code to change some data in STOCK */
replace;
end;
when (%sysrc(_dsenom)) do; /* No match, append obs. */
output;
_error_=0;
end;
otherwise do; /* An unexpected I/O condition */
/* Code to print error message */
_error_=0;
stop;
end;
end;
run;
/**********************************************************************/
data a;
if 0 then modify a;
set b;
output;
run;
/**********************************************************************/
data a; /* A contains two numeric variables, X and Y */
infile 'external.data.file';
input field1 field2;
modify a;
x=field1;
y=field2;
run;
/**********************************************************************/
/* A has only one variable, X */
data a;
modify a;
y=x;
run;
/**********************************************************************/
/* A has only one variable, Y, and one observation */
data a;
modify a;
y='new value';
output;
run;
/**********************************************************************/
if _n_ eq 10 then stop;
/**********************************************************************/
data a;
x=1;
str1='text 1';
run;
data b;
x=1;
str2='text 2';
run;
data a;
modify a b;
by x;
str1=str2;
run;
proc print;
run;
/**********************************************************************/