******************************************************************** * Description.......: GetTableDS - returns owner DS ID for passed alias * Calling Samples...: ?GetTableDS('TranMstr') * Parameter List....: pcAlias * Created by........: Alex Wieder #031264 * Modified by.......: Nadya Nosonovsky 10/17/2000 04:34:25 PM ******************************************************************** lparameter pcAlias && Alias for which we want to find owner DS ** Parameter check if empty(pcAlias) or vartype(pcAlias)<>'C' return 0 endif pcAlias=upper(pcAlias) local lnMaxDS, llValidSession, li, lnTableCount, lnRetDS, lcOldError, lcOldExact lnRetDS=0 lnMaxDS = 20 && Max No. of sessions I want to go through local array laAlias[1] lcOldError=on('error') lcOldExact=set('exact') on error llValidSession = .f. && Supress Error mesages set exact on && To perform full string comparision for li = 1 to lnMaxDS llValidSession = .t. lnTableCount = aused(laAlias,li) && If DS doesn't exist, this line throw an 1540 error if llValidSession and lnTableCount>0 if ascan(laAlias,pcAlias)>0 && This alias is found in this DS lnRetDS=li exit endif endif next on error &lcOldError if lcOldExact='OFF' set exact off endif return lnRetDS