設定されているネームスペース一覧をプログラムで取得する方法
これは、InterSystems FAQサイトの記事です。
%SYS.Namespace クラスの List クエリで取得することができます。
次のようなルーチンを作成し、ターミナルで実行してください。
1. サンプルの作成
getnsp
// ネームスペース一覧を取得する write "nsp:glo:rtn",!,!
set statement=##class(%SQL.Statement).%New()
set status=statement.%PrepareClassQuery("%SYS.Namespace","List")
set resultset=statement.%Execute()
while resultset.%Next() {
write resultset.%Get("Nsp"),!
}
quit
2. ターミナルから実行
USER>do ^getnsp
%SYS
DOCBOOK
SAMPLES
USER
%SYS
DOCBOOK
SAMPLES
USER
こちらの記事でご紹介しているクラスクエリを実行する方法は、様々なケースで応用できます。
クラスリファレンスをご覧いただくと、様々なクラスクエリをご覧いただけます。
例えば、
%SYS.DatabaseQuery:GetFreeSpace() データベースの空き容量
%SYS.GlobalQuery:DirectoryList データベース内のグローバル名一覧
%SYS.GlobalQuery:Size データベース内のグローバルサイズ一覧
%SYS.ProcessQuery:SS プロセス情報(^%SSユーティリティで確認できる一覧と同じ)
などがあり、様々な情報を取得できます。
他にもいろいろございますので、是非ご活用ください。