cQGBLT ; CCM; Test/demo using class query instead of SSVN. write !!,"Listing using ^$GLOBAL SSVN:",! do ListOld("D:/DataM/database/petn/g/1/","","*",1) read !,"Press to continue.",*Dummy write !!,"Listing using %SYS.GlobalQuery() class:",! do ListNew("D:/DataM/database/petn/g/1/","","*",1) write ! quit ListOld(DBPath,System,Mask,ShowSystem) [] PUBLIC { set ExtRef="^"_System_"^"_DBPath set Name = $order(^$|ExtRef|GLOBAL("")) while ( $length(Name) ) { write Name write $J(" ",10+($L(Name)>10*9)-$L(Name)) if $X>74 w ! set Name = $order(^$|ExtRef|GLOBAL(Name)) } } ListNew(DBPath,System,Mask,ShowSystem) [] PUBLIC { set Mask = $get(Mask,"*") set objGblSearch = ##class(%Library.ResultSet).%New() set objGblSearch.ClassName = "%SYS.GlobalQuery" set objGblSearch.QueryName = "DirectoryList" do objGblSearch.Execute(DBPath,System,Mask,ShowSystem,.IntIndex) while ( objGblSearch.Next(.Status) ) { // Get a row of data. if ( $system.Status.IsOK(Status) ) { // check for errors. write objGblSearch.Data("Name") write $J(" ",10+($L(objGblSearch.Data("Name"))>10*9)-$L(objGblSearch.Data("Name"))) } else { // if there was an error escape loop. quit } } if $system.Status.IsError(Status) { // if there was an error, process that do $system.Status.DisplayError(Status) ztrap "GERR" // Get error. } quit } ; ZZ ; 17.01.2012 - 15:58 * Cache-r6.4.9