if (curfld() ne ' ') and (cmd=' ') then do; /* Name the field being clicked on and look up */ /* that field in the control data set. */ field=curfld(); rc=setkey(fields,'FIELD'); if fetch(fields) ne %sysrc(_SWEOF) then do; /* If that field was in the control data set, */ /* act accordingly (field is associated */ /* with VARNAME in the data set). */ varnum=varnum(pubskel,varname); vartype=vartype(pubskel,varnum); /* If the field was modified, or the */ /* field is such that modifications are */ /* not kept, then take some action. */ if not field('MODIFIED',field) or bksltrak='I' then do; /* Insert the current value of that */ /* field into a list. */ templ=makelist(); if vartype='C' then rc=setnitemc(templ,getvarc(pubskel,varnum), 'VALUE'); else rc=setnitemn(templ,getvarn(pubskel,varnum), 'VALUE'); /* Take whatever action is indicated by */ /* the value of HYPLOC in the control data */ /* set for the observation corresponding */ /* to the field being clicked on. */ call method('hyprtext.scl',hyploc,templ); rc=dellist(templ); end; end; end; return;