OPEN: method custlistid 8; /* Create a list. */ custlistid=makelist(); /* Open the dataset and store the dataset */ /* identifier in the returned list. */ dsid=open('company.customer','U'); rc = setnitemn(custlistid,dsid,'DSID'); endmethod; FIND: method custlistid 8 findname $50 sysrc 8; /* Get the dataset identifier from the list. */ dsid = getnitemn(custlistid,'DSID'); /* Find the observation with the value entered */ /* in NAME. */ sysrc=where(dsid,'NAME='||quote(findname)); /* Read the observation into the SCL data vector. */ call set(dsid); sysrc=fetch(dsid); /* Check to make sure that an observation matches */ /* the WHERE clause. */ if (sysrc = %sysrc(_sweof)) or (sysrc > 0) then do; custnum = ' '; state = ' '; zipcode = ' '; city = ' '; phone = ' '; ord1dte = .; end; rc = setnitemc(custlistid,custnum,'CUSTNUM'); rc = setnitemc(custlistid,city,'CITY'); rc = setnitemc(custlistid,state,'STATE'); rc = setnitemc(custlistid,zipcode,'ZIPCODE'); rc = setnitemc(custlistid,phone,'PHONE'); rc = setnitemn(custlistid,ord1dte,'ORD1DTE'); rc = setnitemc(custlistid,findname,'NAME'); endmethod; RENAME: method custlistid 8 newname $50 sysrc 8; /* Get the data set identifier from the list. */ dsid = getnitemn(custlistid,'DSID'); /* Display the values of the list items in the */ /* window fields. */ name = newname; custnum = getnitemc(custlistid,'CUSTNUM'); city = getnitemc(custlistid,'CITY'); state = getnitemc(custlistid,'STATE'); zipcode = getnitemc(custlistid,'ZIPCODE'); phone = getnitemc(custlistid,'PHONE'); ord1dte = getnitemn(custlistid,'ORD1DTE'); /* Attempt to update the observation. */ call set(dsid); sysrc = update(dsid); if not sysrc then rc=setnitemc(custlistid,name,'NAME'); endmethod; CLOSE: method custlistid 8; /* Get the dataset identifier from the list. */ dsid = getnitemn(custlistid,'DSID'); /* Close the data set. */ sysrc=close(dsid); /* Delete the SCL list. */ rc = dellist(custlistid); endmethod;