2.3.1 Example for updating and deleting asset information conditioned on asset status
This subsection provides an example of updating and deleting asset information based on various statuses by evaluating the status of an asset.
-
Remove a hardware asset whose status is erase, along with all related information.
-
Perform the following updates and deletions on assets whose status is scrap (code range 500 to 719):
-
Clear network information IP addresses.
-
Delete installed software information.
#AssetInformationManager HTML 0005 #=============================================================================== # Variable definitions #=============================================================================== [VAR] STATUS DUMMY ECHOMSG MSG ASSET_ID ASSET_NO ASSET_ST NETWORK_ID IPADDR IPKIND WORK #=============================================================================== # Output message routine #=============================================================================== [SUB] ECHO [IF] MSG = '1' [THEN] [SET_VALUE] $ECHO(ECHOMSG) [IF_END] [SUB_END] #=============================================================================== # Deletion of hardware information (main) #=============================================================================== [BEGIN] [SET_VALUE] MSG = $GETSESSION('MSG') # Determine if message must be output. [TRANSACTION] [ASSET_ITEM_LOOP] [CLASS_FIND] AssetInfo [FIND_DATA] (AssetInfo.AssetKind = '001') and # Hardware asset (AssetInfo.AssetStatus >= '500') # Assets whose hardware status is not active. [GET_VALUE] ASSET_ID = AssetInfo.AssetID ASSET_NO = AssetInfo.AssetNo ASSET_ST = AssetInfo.AssetStatus [IF] (ASSET_ST = '999') [THEN] # Delete asset information whose asset status is erase. [DELETE] AssetInfo [DATA] AssetInfo.AssetID = ASSET_ID [SET_VALUE] ECHOMSG = 'asset number ['+ASSET_NO+' (ID:'+ASSET_ID+')] deleted.' $GOSUB(ECHO) [ELSE] # If asset status is neither erase nor active. [ASSET_ITEM_LOOP] # Clear network information IP address. [CLASS_FIND] NetworkInfo [FIND_DATA] (NetworkInfo.AssetID = ASSET_ID) [GET_VALUE] NETWORK_ID = NetworkInfo.NetworkID IPADDR = NetworkInfo.IPAddress IPKIND = NetworkInfo.IPAddressKind [UPDATE] NetworkInfo [DATA] NetworkInfo.AssetID = ASSET_ID NetworkInfo.NetworkID = NETWORK_ID NetworkInfo.IPAddressKind = '002' NetworkInfo.IPAddress = '' [SET_VALUE] ECHOMSG = '['+ASSET_ID+'] network information ['+NETWORK_ID+' '+IPADDR+'] cleared.' $GOSUB(ECHO) $SETSTATUS('NORMAL') [ASSET_ITEM_LOOP_END] [ASSET_ITEM_LOOP] # Delete all installed software information. [CLASS_FIND] InstalledInfo [FIND_DATA] (InstalledInfo.AssetID = ASSET_ID) [GET_VALUE] WORK = InstalledInfo.InstalledID [DELETE] InstalledInfo [DATA] InstalledInfo.AssetID = ASSET_ID InstalledInfo.InstalledID = WORK InstalledInfo.CreationClassName = 'InstalledInfo' [SET_VALUE] ECHOMSG = '['+ASSET_ID+'] installation information ['+WORK+'] deleted' $GOSUB(ECHO) $SETSTATUS('NORMAL') [ASSET_ITEM_LOOP_END] [IF_END] [SET_VALUE] $SETSTATUS('NORMAL') [ASSET_ITEM_LOOP_END] [SET_VALUE] $SETSTATUS('NORMAL') [TRANSACTION_END] [END] #===============================================================================
-