2.3.2 許可外ソフトウェアがインストールされている資産をリストアップする場合の記述例
許可外ソフトウェアがインストールされている資産と、そのソフトウェアをリストアップしてファイルに出力する場合の記述例を次に示します。この例では、リストを作成するために、[JOIN_FIND]タグを使って複数クラスを結合して検索しています。
-
出力ファイルの内容例
この記述例の処理で出力されるファイルの内容例を次に示します。
"ソフトウェア名","バージョン","資産番号","部署","利用者" "SoftwareA","0100","0000000001","本社/営業部/営業1課","ユーザ1" "SoftwareA","0101","0000000001","本社/営業部/営業1課","ユーザ1" "SoftwareB","0100","0000000001","本社/営業部/営業1課","ユーザ1" "SoftwareA","0100","0000000002","本社/営業部/営業2課","ユーザ2"
#AssetInformationManager HTML 0005 #=============================================================================== # 変数定義 #=============================================================================== [VAR] STATUS DUMMY WORK ECHOMSG MSG FILENAME [SET_VALUE] MSG = $GETSESSION('MSG') #=============================================================================== # 許可外ソフトウェアのインストール情報をCSV出力(メイン) #=============================================================================== [BEGIN] [VAR] ASSET_NO GROUP USER SOFTNAME SOFTVR FH LINE [ARRAY] OUTLINE [SET_VALUE] FILENAME = $GETSESSION('CSV') FH = $FILEOPEN(FILENAME, RENEW) $SETARRAY(OUTLINE,'ソフトウェア名') $SETARRAY(OUTLINE,'バージョン') $SETARRAY(OUTLINE,'資産番号') $SETARRAY(OUTLINE,'部署') $SETARRAY(OUTLINE,'利用者') $FILEARRAY(FH, OUTLINE) $CLEARARRAY(OUTLINE) LINE = 0 [TRANSACTION] [ASSET_ITEM_LOOP] [JOIN_FIND] [JOIN] joinassoc;InstalledListLink; joinfrom;InstalledList,InstalledInfo; jointype;INNER; [JOIN] joinassoc;InstalledLink; joinfrom;InstalledInfo,AssetInfo; jointype;INNER; [JOIN] joinfrom;AssetInfo,GroupInfo; jointype;OUTER; joinkey;AssetInfo.GroupID,GroupInfo.GroupID; [FIND_DATA] (InstalledList.InstalledPermit = '2') [GET_VALUE] SOFTNAME = InstalledList.InstalledName SOFTVR = InstalledList.InstalledVersion ASSET_NO = AssetInfo.AssetNo GROUP = GroupInfo.FullPathName USER = AssetInfo.UserName [SET_VALUE] $SETARRAY(OUTLINE,SOFTNAME) $SETARRAY(OUTLINE,SOFTVR) $SETARRAY(OUTLINE,ASSET_NO) $SETARRAY(OUTLINE,GROUP) $SETARRAY(OUTLINE,USER) $FILEARRAY(FH, OUTLINE) $CLEARARRAY(OUTLINE) LINE = $ADD(LINE, 1) [ASSET_ITEM_LOOP_END] [SET_VALUE] $SETSTATUS('NORMAL') [TRANSACTION_END] [SET_VALUE] $FILECLOSE(FH) [IF] (LINE = 0) [THEN] [SET_VALUE] ECHOMSG = 'データはありませんでした' $ECHO(ECHOMSG) $EXIT(1) [ELSE] [SET_VALUE] ECHOMSG = LINE+'件のデータを出力しました' $ECHO(ECHOMSG) [IF_END] [END]