WARRENTY CHECK ON COUNTER

CAN ANYONE GUIDE ME HOW TO CHECK WARRENTY ON RUNNING HOURS OR KM BASIS FOR AN VEHICLE. FROM WHERE SYSTEM WILL PICK COUNTER READING IF I AM CREATING A MASTER WARRENTY ON COUNTER KM.

Please use [Enterprise Asset Management (EAM)|Enterprise Asset Management (SAP EAM); forum for PM/CS specific topics
Some pointers:
- Don't use all capital letters
- Read the [rules of engagement|https://wiki.sdn.sap.com/wiki/display/HOME/RulesofEngagement]
- Explain better what you want to achieve
-Paul

Similar Messages

  • Write a procedure to check the count is less than 1300 for every 3 hours

    Good Morning all,
    I want to write a procedure to check the count is less than 1300 for every 3 hours
    Query:*
    Select count(*) from sample where trx_date=sysdate;
    I want to run this query every 3 hours daily
    If the count is less than 1300 every 3 hours, we should sent a reminder mail like 'Data not copy'.
    Please help me how to write a procedure.

    hi there
    first
    --define the SMTP_OUT_SERVER parameter in your init.ora initialization file
    --ALTER SYSTEM SET smtp_out_server='my.domain.com' SCOPE=SPFILE;
    after that create a procedure
    CREATE OR REPLACE procedure SCOTT.hrsmail
    is
    v_count number;
    begin
    Select count(*)  into v_count from emp;
    if v_count < 1300
    then
      UTL_MAIL.send(sender    => '[email protected]',
                      recipients => '[email protected]',
                      cc         => '[email protected]',
                      bcc        => '[email protected]',
                      subject    => 'Testing the UTL_MAIL Package',
                      message    => 'If you get this, UTL_MAIL package
    else
    null;   --what you want to do here
    end if ;
    end;
    /we should create a job which run after every 3 hrs and send a reminder mail like 'Data not copy'.
    BEGIN
      SYS.DBMS_JOB.REMOVE(373);
    COMMIT;
    END;
    DECLARE
      X NUMBER;
    BEGIN
      SYS.DBMS_JOB.SUBMIT
      ( job       => X
       ,what      => 'begin hrsmail; end;'
       ,next_date => to_date('14/02/2011 18:39:29','dd/mm/yyyy hh24:mi:ss')
       ,interval  => 'SYSDATE+3/24 '
       ,no_parse  => FALSE
      SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(x));
    COMMIT;
    END;
    /hope this will help you
    Regards
    Hitesh
    Edited by: Hitesh Nirkhey on Feb 14, 2011 3:34 PM

  • Need Help With Check Box count Script

    Need to count the number of checked boxes. I'm using the script below and its not working. What I'm I doing wrong? It's driving me crazy.
    // document level function to sum named fields
    function Sum(aFieldNames) {
    var sum = 0; // sum of values
    // loop through fields
    for (var i = 0; i < aFieldNames.length; i++) {
    if(!isNaN(this.getField(aFieldNames[i]).value) )
    sum += Number(this.getField(aFieldNames[i]).value);
    return sum;
    } // end of Sum function
    // array of field names sum
    var aCheckBox = new Array('Check Box5', 'Check Box8', 'Check Box11', 'Check Box16', 'Check Box19','Check Box22', 'Check Box25','Check Box28', 'Check Box31', 'Check Box34','Check Box37', 'Check Box40','Check Box43', 'Check Box46', 'Check Box49','Check Box52', 'Check Box55','Check Box58', 'Check Box61', 'Check Box64','Check Box68');
    // sum named fields
    event.value = Sum(aCheckBox);

    Then why are you checking if they're a number by using the isNaN function, and then trying to add that number to the sum variable? It looks like you just copied the code from somewhere else, even though it doesn't apply to your situation.
    Replace those two lines of the code with this:
    if (this.getField(aFieldNames[i]).value!="Off") sum++;

  • How can i check cpu count in my server?

    Hi,
    Can anybody help me how to find the number of CPUs in my server?
    Thanks a lot for ur help
    santhosh

    Re: How many CPU are connected to our server?

  • I just read that all iPods come with a one year apple care warrenty does that count for iPods that you sent in to be replaced and does it cover cracks in the screen

    1

    A unit replaced under warranty will have the balance of the warranty or 90 days, whichever is longer. No, it does not cover physical damage, such as broken screens.

  • Check count and then do some work

    Hi,
    I have a table with 10 million records. I want to check whether a value of a specific column is present or not. If the count is greather than 0, then I want to do some task and if it is 0, then I want to do some other task.
    Could you please tell me what is the best way to do?
    What I am doing now is: I am checking the count using count(*) and then checking the value whether that is greater than 0 or =0 and then based on the value I am doing different task.
    But count(*) is slow for this big table.
    So, please let me know the best possible way to do this.

    declare
      value_exists number;
    begin
      select count(*)
      into   value_exists
      from   my_table
      where  my_column = 'ABC' and
             rownum = 1;
      if value_exists = 1 then
      elsif value_exists = 0 then
      else raise_application_error(-20001,'Bad value for value_exists of '||coalesce(to_char(value_exists),'NULL'));
      end if;
    end;

  • Checking the node counts inside ccBPM

    All,
    We have a requirement where we need to check the number of nodes on the input message with the number of "successful" output messages. If there is a mismatch we need to raise an error. (in the following sample xml - we need to check the count of <input> nodes to the count of <output> nodes with <status> = 0)
    <inputmessage>
    <input>1</input>
    <input>2</input>
    <input>3</input>
    </inputmessage>
    <outputmessage>
    <output><status>0</status><result>sssds</result></output>
    <output><status>0</status><result>sssdsssss</result></output>
    <output><status>1</status><result>ssdfsds</result></output>
    </outputmessage>
    Thanks,

    Duplicate thread

  • Counting in DAX - Questions

    Hello
    I´m having problems counting properly in DAX. Here´s an image with the pivot tables:
    And here is the sample spreadsheet if you want to check it:
    Counting in DAX
    The current calculated fields are:
    Max CLOSE 1 Week:
     =IF([Sum of CLOSE]=BLANK(),BLANK(),(CALCULATE(MAX(FactTable[CLOSE]),DATESINPERIOD(Calendar[FullDate],LASTDATE(Calendar[FullDate])-1,-7,DAY))))
    1 Week New High:
     =IF(SUM(FactTable[CLOSE])>[Max CLOSE 1 Week],1)
    Problems:
    1) On table 1 we need to add a calculated field that counts the trading days to the last "1" that appeared on "1 Week  New High", as noted in the example.
    2) On table 2 we need to count the symbols for each date context that have a 1 week new high price, but for some reason the counting doesn´t work.
    Can you please help?

    well, from my understanding the definition of your "1 Week New High" measure is wrong.
    try this one:
    1 Week New High:=IF(
    [Max CLOSE 1 Week]>CALCULATE([Max CLOSE 1 Week], DATEADD(Calendar[FullDate],-1, DAY)),
    1)
    it compares the current [Max CLOSE 1 Week] with the [Max CLOSE 1 Week] of the day before
    you might want to change the ">" to "<>" but thats up to your definition
    this makes a difference if one value is the [Max CLOSE 1 Week] for a whole week and runs out afterwards. [Max CLOSE 1 Week] would be a lower value then the day before - dont know if you want to flag this as a [1 Week New High] then
    hth,
    gerhard
    Gerhard Brueckl
    blogging @ http://blog.gbrueckl.at
    working @ http://www.pmOne.com

  • How can I stop a task sequence if a custom HTA preflight check fails?

    In our currently deployment method, we launch an HTA program before initiating the OSD process. This is only when run from the RAP menu, not via PXE.  When a user initiates OSD through that menu, they get a message prompting them to close Outlook, and
    a countdown of 5 mins, then OSD starts.  They also have the ability to click on an 'OK' button to proceed on their own.
    I've created a new script which checks WMI if Outlook and/or OCS are open, and if the machine is running on battery, spit out a "Failed" response and stop the HTA.  I've also added a "recheck" button to re-do the check, and an 'OK
    button if people jsut want to continue.  
    I'm curious if there is a way to prevent the task sequence from continuing if any of those conditions arent met.  Currently it just pops up and says "Failed, Cannot conitue", but if they close the window, the task sequence thinks the program
    has run, and the OSD migration starts.  I'd like to be able and get the script to cancel the OSD process if a check fails.
    Has anyone had success with this, using WINXP? I'd use the MS pre-flight check but it's only for WIN7.

    Interesting. Thanks for the response.  Is there anybody out there that can assist with VBS part of the solution?
    Here's the code I'm working with.  Currently the battery piece isnt working as it should but I can figure that our, eventually.  I'd like to get Jason's proposed solution in the code.  If this isn't the right place, I'll take this somewhere
    else.
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title>OSD Preflight checks</title>
    <HTA:APPLICATION
    APPLICATIONNAME="OSD Preflight checks"
    ID="objOSDPreReqChecks"
    SCROLL="no"
    CONTEXTMENU="no"
    SINGLEINSTANCE="no"
    MAXIMIZEBUTTON="no"
    MINIMIZEBUTTON="no"
    WINDOWSTATE="normal"/>
    <!-- #region STYLEs-->
    <style type="text/css">
    H1{color:Black;text-align:center;font-family: Arial, Helvetica, sans-serif;font-size: 26px;}
    p{font-family:"Arial";font-size:10px;}
    fail{color:Red;text-align:center;}
    .Version {float:left; font-size:1.0em;font-style:italic;color:#888888;font-weight:bold;}
    .Header1 {width: 180px; text-align: right;font-weight:bold;}<!-- '1st column heading -->
    H2 {font-family: Arial, Helvetica, sans-serif; text-align: center;}
    H3 {font-style: italic;}
    .style2 {width: 180px; text-align: left;}
    .Header2 {width: 150px; text-align: right;font-weight:bold;}<!-- '2nd column heading -->
    .style4 {width: 410px; text-align: left;}
    .StatusBar
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    .hidden {display: none; visibility: hidden;}
    </style><!-- #endregion -->
    </head>
    <script language="VBScript" type="text/vbscript">
    '======================================================================================
    ' Script
    ' Version
    ' Purpose To check a machine is suitable for taking an OS deployment
    '======================================================================================
    'Features
    ' Modular design
    ' Verbose "Debug Mode"
    ' In-built data validation
    ' Custom error handling
    ' Custom error codes - 90x0
    ' Generic WMI handler
    'BUGfix: Change CLng to CDbl to avoid overflow (in GetRAM)
    'fixed - moved head section to top to become head > script > body
    'fixed - fCheckModel display with leading ,
    'fixed - fgetmodels dictionary list
    Option Explicit
    ' #region GLOBAL DECLARATIONS: Persistent fold region
    '======================================================================================
    'GLOBAL Vars
    'Things to just display (in GUI)
    Dim strRAM
    Dim strCPUInfo
    Dim strCPUName
    Dim strCPUDesc
    Dim iCPUCount
    Dim iCPUCoreCount
    Dim iRAM
    Dim strBIOSver, strBIOSDate, strBIOSInfo
    'Time related
    Dim TimerInterval 'timer to refresh HTA at start
    Dim iTimer 'abort timer
    Const iAbortTimeout=300000 'delay before window closes (in milliseconds)
    Dim pbTimerID
    Dim pbHTML
    Dim pbWaitTime
    Dim pbHeight
    Dim pbWidth
    Dim pbBorder
    Dim pbUnloadedColor
    Dim pbLoadedColor
    Dim pbStartTime
    'Dictionary
    Dim objModelsDict,colKeys,strKey 'models
    Dim objApprovedMakesDict
    'Misc GLOBAL vars
    Dim blnDebug 'set TRUE to trigger debug mode
    Dim bAbortBuild 'Boolean flag to abort or not abort
    Dim strTemp 'throwaway/scratch
    Dim strNamespace 'wmi default namespace for ANY machine
    Dim strComputer 'wmi reference to current machine, just .
    Dim strService 'WMI service
    Dim strQuery 'custom WQL
    Dim ErrMsg 'custom error messages
    Dim iErrMode 'State machine for error mode
    Dim lFlags 'WMI flag
    Dim strDisks
    'Pre-requisites - things that will cause build to abort if values do not meet spec
    Dim strHTAVendor 'Make of hardware
    Dim strHTAVendorState
    Dim strHTAModel 'Model of hardware
    Dim strHTAModelState 'Model state
    Dim strHTARAM 'RAM
    Dim strHTARAMState 'RAM state
    Dim strHTACPUSpeed 'Processor speed
    Dim strHTACPUCores 'Number of cores
    Dim strHTACPUFullInfo 'CPU + cores
    Dim strHTAHDD 'Disk info
    Dim strHTAHDDState 'Disk state
    Dim strHTACheckRAW 'NTFS check
    Dim strHTAArchitecture 'Processor support
    Dim strHTAProduct 'Product ID
    Dim strHTAOutlook 'Outlook running
    Dim strHTAOutlookState 'Outlook state
    Dim strHTABattery 'Battery check
    Dim strHTABatteryState 'Battery state
    'for WQL filters
    Dim strWQLPCInfo 'Pre-req - (1) for various inc. domain role (servers)
    Dim strWQLRAM 'Pre-req - (2) RAM
    Dim strWQLCPU 'Pre-req - CPU speed string (not int)
    Dim strWQLBootOrder 'Pre-req - Boot order string
    Dim strWQLSATAMode 'Pre-req - HDD mode
    Dim strWQLGenericBIOS
    Dim strWQLCPUCount 'Pre-req - how many CPUs
    Dim strWQLCPUInfo
    Dim strWQLFSType 'Pre-req - Check HDD not RAW (i.e. is NTFS)
    Dim strWQLDisks 'Disks
    Dim strWQLChassis 'Machine type
    Dim strWQLID 'Unique code from OEM
    Dim strWQLProc 'is Outlook running = False
    Dim strWQLBattery 'is on Battery = False
    'State
    Const cProblem = " Problem!"
    Const cRunAgain =" RunCheck: Run System Check Again"
    Const cSuccess = " Success!"
    Const cPassed=" Pass"
    Const cFail=" Fail"
    'Pre-requisite to check: SET VALUES HERE vvvvvvvvvvvvvvvv
    Const cApprovedOEM="Hewlett-Packard"
    Const LegacyOEM1="Dell Inc."
    Const LegacyOEM2="IBM"
    Const cMinimumMemoryMB = 1000 'RAM in MB
    'Const cMinimumMemoryMB = 1000000 'force fail test data RAM in MB
    Const cMinFS="NTFS"
    ' Const cMinFS="HPFS" 'force fail test data
    Const iMinCores=1
    'Const iMinCores=10099 'force fail cores test data
    Const iMinCPUSpeed=2 '20 'in GHz
    'Const iMinCPUSpeed=90000 'in GHz
    Const iMinCPUArch=32
    'Const iMinCPUArch=64
    ' #endregion
    ' To hide anything use ID.className = "hidden", to show set to "", e.g. NotFoundArea.className = "hidden"
    Sub Window_Onload
    Err.Clear
    VersionSpan.InnerText = objOSDPreReqChecks.Version 'Get version
    self.focus
    self.moveTo 100,100 'Move window top left
    StatusBar.InnerText="Validating machine..."
    document.body.style.cursor = "wait" 'hourglass cursor
    'Call PreflightChecks 'use for testing as a VBS only, otherwise HTA timer will call below
    TimerInterval = window.setInterval("PreflightChecks",10)
    End Sub
    Function PreflightChecks
    ' #region HEADER NOTES: Persistent fold region
    'Version history
    'ver 5 OCTOBER 2011 - added error handler
    'ver 3rd Nov - removed HPonly queries
    '// Solution: Custom Script for use with MDT - Adapted from hardwareinfo.vbs Mikael Nystrom – http://deploymentbunny.com
    'Typical BIOS content
    'Processor Speed = 2133/1066 MHz
    'Boot Order = Network Controller,ATAPI CD-ROM Drive,USB device,Hard Drive,Diskette Drive,PnP Device #2,PnP Device #3,PnP Device #4,PnP Device #5,PnP Device #6,PnP Device #7,PnPe #8,PnP Device #9,PnP Device #10,PnP Device #11
    'SATA (disk) mode: *IDE,--,RAID,-- or IDE,*AHCI,RAID
    'On Error Resume Next
    ' #endregion
    ' #region CONSTANTS: Persistent fold region
    '======================================================================================
    'Fields available in HP BIOS
    Const sAsset = "Notebook Asset Tag"
    Const sOwner = "Notebook Ownership Tag"
    Const sMan = "Manufacturer"
    Const sNoteModel = "Notebook Model"
    Const sCPU = "Processor Type"
    Const sCPUSpeed = "Processor Speed"
    Const sRAM = "Memory Size"
    Const sModel = "Product Name"
    Const sBIOSName ="System BIOS"
    Const sBIOSVer = "BIOS Version"
    Const sBIOSDate = "BIOS Date"
    'Other BIOS stuff you could use too
    'Const sOwnerTag = "Enter Ownership Tag"
    'Const sBIOS = "PCID"
    'Const sBIOS = "Define Custom URL"
    'Const sBIOS = "Set Alarm Time"
    'Const sBIOS = "PCID Version"
    Const TextMode="1" 'text case sensitive for dict obj
    'WMI core constants
    Const wbemFlagReturnImmediately = 16 'wmi - Causes the call to return immediately.
    Const wbemFlagForwardOnly = 32 'wmi - Causes a forward-only enumerator to be returned.
    'Forward-only enumerators are generally much faster and
    'use less memory than conventional enumerators, but don't allow calls to SWbemObject.Clone_
    'Advisory config values - as in "you want to the change these"
    Dim strHTABootOrder
    Dim strHTASATAMode
    'Dim strHTACPU
    ' #endregion
    '======================================================================================
    ' #region WQL: Persistent fold region
    lFlags = wbemFlagReturnImmediately + wbemFlagForwardOnly
    'Queries of things to check (HP)
    strWQLBootOrder = "select Name, value from HP_BIOSSetting where Name='Boot order'"
    strWQLSATAMode = "select Name, value from HP_BIOSSetting where (Name='SATA emulation' or name='SATA device mode')"
    strWQLDisks ="SELECT * FROM Win32_DiskDrive where mediatype like 'Fixed%hard disk%'" 'win32_disk only avail after W7
    strWQLFSType ="SELECT * from Win32_LogicalDisk where DriveType='3'" 'only bother with HDDs
    'Generic WMI query strings
    strWQLGenericBIOS="SELECT Manufacturer,SMBIOSBIOSVersion,ReleaseDate FROM Win32_BIOS WHERE PrimaryBIOS = True"
    strWQLCPUCount= "SELECT NumberOfProcessors,NumberOfLogicalProcessors from Win32_ComputerSystem"
    strWQLCPUInfo="SELECT Name,DataWidth,description,MaxClockSpeed,NumberofCores,NumberOfLogicalProcessors from Win32_Processor"
    strWQLPCInfo="SELECT Domain,DomainRole,SystemType,Manufacturer,Model,TotalPhysicalMemory FROM Win32_ComputerSystem"
    ' strWQLPCInfo="SELECT Domain,DomainRole,SystemType,Manufacturer FROM Win32_ComputerSystem"
    strWQLChassis="SELECT ChassisTypes from Win32_SystemEnclosure"
    strWQLID="SELECT IdentifyingNumber,UUID from Win32_ComputerSystemProduct"
    strWQLRAM="SELECT * FROM Win32_PhysicalMemory"
    strWQLProc="SELECT * FROM Win32_Process"
    strWQLBattery="SELECT * FROM BatteryStatus Where Voltage > 0"
    ' #endregion
    ' #region MAIN algorithm
    '=====================================================================================================
    ' MAIN
    'Algorithm
    '1) Check make (vendor)
    '2) Check model (in list)
    '3) Check RAM >x
    '4) Check HDD TYPE (HDD is not RAW)
    '5) Check CPU architecture
    '6) Check outlook
    '7) Check battery
    '=====================================================================================================
    'Initialise
    window.clearInterval(TimerInterval) 'Reset timer to 0
    ' blnDebug=True
    blnDebug=False
    bAbortBuild=False 'default to DON'T abort
    ' bAbortBuild=True
    'Build list of approved vendors
    Set objApprovedMakesDict = CreateObject("Scripting.Dictionary")
    objApprovedMakesDict.comparemode=VBTextCompare
    objApprovedMakesDict.add cApprovedOEM,"OK"
    objApprovedMakesDict.add LegacyOEM1,"OK"
    objApprovedMakesDict.add LegacyOEM2,"OK"
    objApprovedMakesDict.add "Lenovo","Testdata"
    If blnDebug Then Stop
    '1) all machines check make
    strHTAVendor=fCheckVendor(strWQLGenericBIOS) 'check vendor in BIOS - if vendor not approved ABORT without proceeding
    If bAbortBuild=True Then
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "FATAL ERROR - goodbye cruel world"
    iTimer = window.setTimeout("Abort", iAbortTimeout, "VBScript")
    Else
    StatusBar.InnerText="Vendor: " & strHTAVendor & vbTab & " " & strHTAVendorState
    '2) Discover current Model
    strHTAModel=fGetModelName(strWQLPCInfo) 'get model name from WMI
    strHTAModel=fUniversalCheckData(strHTAModel,"'Discover Model - fGetModelName'") 'validate
    Call fGetModels 'get list of all valid models (from text file)
    strHTAModel=fCheckModel(strHTAModel)
    '2a) Model number (optional)
    strHTAProduct=fGetComputerSystemProdIDNumber(strWQLID) 'manufacturer's product ID
    strHTAProduct=fUniversalCheckData(strHTAProduct,"'Discover ID - fGetComputerSystemProdIDNumber'")
    ' StatusBar.InnerText=StatusBar.InnerText & VbCrLf & vbTab & "Product Code: " & vbTab & strHTAProduct
    '3) Check installed Memory
    strHTARAM=fGetRAM(strWQLRAM) 'find RAM size
    strHTARAM=fUniversalCheckData(strHTARAM,"'Detect RAM - fCheckRAM'")
    strHTARAM=fCheckRAM(strHTARAM) 'check RAM meets req
    If strHTARAMState=cFail Then Exit Function
    '4) Disk format IS NTFS
    strDisks=fGetDrives(strWQLFSType) 'Get formatting info for all drives
    strHTACheckRAW=fUniversalCheckData(strDisks,"'Detect filesystem - fCheckNTFS'") 'Validate data
    strHTACheckRAW=fCheckNTFS(strDisks) 'Check FS format is acceptable (not RAW)
    If strHTACheckRAW=cFail Then Exit Function
    'Generic CPU calls
    strHTACPUFullInfo="CPUs:" & fGetCPUInfo(strWQLCPUInfo) & " with CPU cores:" & iCPUCoreCount
    strBIOSInfo="BIOS version: " & strBIOSver & ", dated " & strBIOSDate
    '5a) CPU Speed check (info from http://www.robvanderwoude.com/wmiexamples.php)
    strCPUInfo=WMI(strWQLCPUInfo,strNamespace) 'Get CPU details
    strTemp=split(strCPUInfo,"@"): strHTACPUSpeed=strTemp(1)
    strHTACPUSpeed=fUniversalCheckData(strHTACPUSpeed,"'Check processor - fCheckCPUSpeed'") 'Validate data
    strHTACPUSpeed=fCheckCPUSpeed(strHTACPUSpeed) 'Check CPU clock speed
    '5b) cores check
    strHTACPUCores=fUniversalCheckData(iCPUCoreCount,"Check core count - fCheckCores") 'Validate data
    iCPUCoreCount=fCheckCores(iCPUCoreCount) 'pass or fail?
    '5c) CPU address width
    strHTAArchitecture=fUniversalCheckData(strHTAArchitecture,"Check core count - fCheckCores") 'Validate data
    strHTAArchitecture=fCheckCPUArch(strHTAArchitecture)
    '6) Check outlook
    strHTAOutlook=fCheckProcess(strWQLProc)
    '7) Check Battery
    strHTABattery=fCheckBattery(strWQLBattery)
    'end checkss
    document.body.style.cursor = "default"
    'Display hardware values in GUI (in table)
    Vendor.innerhtml = strHTAVendor 'Use str...var..STATE if you want Pass/fail text instead
    Model.innerhtml = strHTAModel
    Product.innerhtml = strHTAProduct
    RAM.innerhtml = strHTARAM
    CPUspeed.innerhtml = strHTACPUSpeed
    CPUInfo.innerhtml = strHTACPUFullInfo
    HDDFS.innerhtml = strHTACheckRAW
    CapableArchitecture.innerhtml=strHTAArchitecture
    BIOSversion.innerhtml = strBIOSver
    BIOSDate.innerhtml = strBIOSDate' CPUName.innerhtml = strCPUDesc 'GetCPUName
    End If
    '======================================================================================
    ' #endregion
    End Function
    'generic WMI queries, by field and namespace
    Function WMI(strQuery,strNameSpace)
    'Aim: generic WMI calls
    'return value of BIOS
    On Error Resume Next
    Dim colItems,objItem
    Dim objWMI
    Const strService = "winmgmts:{impersonationlevel=impersonate}//" 'binding to WMI
    Const strComputer = "." 'this machine
    Set objWMI = GetObject(strService & strComputer & strNamespace) 'GLOBAL wmi
    Set colItems = objWMI.ExecQuery(strQuery,,lFlags)
    For Each objItem In colItems
    If Err Then
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "WMI query: " & strQuery & " in " & strNamespace & objItem.Name
    Call ErrHandler("WMI error " & strQuery,1)
    Else
    WMI=objItem.Name 'Return value
    End If
    Next
    End Function
    Function fGetModelName(strWQLPCInfo)
    'Aim: Get model name from BIOS - WMI field sometimes varies if laptop, so try two
    'Return STRING: Model string from BIOS or "UNKNOWN" if null
    On Error Resume Next
    Dim colPCInfo,objPCItem
    Dim strModel
    Set colPCInfo = GetObject("winmgmts:").ExecQuery(strWQLPCInfo,"WQL",lFlags)
    If Err Then
    Call ErrHandler("fGetModelName: Error querying WMI " & strWQLPCInfo,2)
    Else
    For Each objPCItem In colPCInfo
    If Not IsNull(objPCItem.Model) Then
    strModel=objPCItem.Model
    ' iRAM=objPCItem.TotalPhysicalMemory
    Else
    If (strHTAVendor=cApprovedOEM And IsLaptop = True) Then ' resort to HP specific query for older laptops
    'Notebook
    strModel=QueryHPBIOS(sNoteModel)
    if strModel="" then strModel=QueryHPBIOS(sModel) 'try alt value
    Else
    strModel=QueryHPBIOS(sModel)
    End If
    End If
    Next
    End If
    If strModel = "" Then
    fGetModelName = "UNKNOWN"
    Model.style.visibility="hidden"
    Else
    fGetModelName=strModel
    End If
    End Function
    '====================================================
    '====================================================
    Function fGetRAM(strQuery)
    'Aim: get RAM installed. NB Win32_ComputerSystem::TotalPhysicalMemory may not be accurate
    'Return integer
    On Error Resume Next 'equiv to Err.Clear
    Dim colItems, item
    Dim iTotalMemory
    Set colItems = GetObject("winmgmts:").ExecQuery(strQuery,"WQL",lFlags)
    If Err Then
    Call ErrHandler("fGetRAM: Error querying " & strQuery,2)
    Else
    iTotalMemory = 0
    For Each item In colItems
    iTotalMemory = iTotalMemory + CDBL(item.Capacity)/(1024^2)
    Next
    End If
    If iTotalMemory = "" Then
    fGetRAM = "RAM UNKNOWN"
    RAM.style.visibility="hidden"
    Else
    fGetRAM=iTotalMemory
    End If
    End Function
    '====================================================
    '====================================================
    Function fGetCPUInfo(strQuery)
    'Aim: query WMI for CPU info - number and number of cores
    'Return: function=CPU count, var for the cores: iCPUCoreCount, strHTAArchitecture, strCPUDesc
    On Error Resume Next
    Dim colItems, objItem
    Dim NumberOfProcessors
    Set colItems = GetObject("winmgmts:").ExecQuery(strQuery,"WQL",lFlags)
    If Err Then
    Call ErrHandler("GetCPUInfo: Error querying " & strQuery,2)
    Else
    For Each objItem In colItems
    If Err Then
    Else
    If Not IsNull(objItem.NumberOfCores) Then
    NumberOfProcessors = Trim(objItem.NumberOfCores) 'NumberOfProcessors
    End If
    If Not IsNull(objItem.NumberOfLogicalProcessors) Then
    iCPUCoreCount = Int(Trim(objItem.NumberOfLogicalProcessors))
    End If
    If Not IsNull(objItem.DataWidth) Then
    strHTAArchitecture=Trim(objItem.DataWidth) & "-bit"
    End If
    If Not IsNull(objItem.description) Then
    strCPUDesc = Trim(objItem.description) 'cpu name
    End If
    End If
    Next
    If NumberOfProcessors = "" Then
    NumberOfProcessors = "UNKNOWN"
    End If
    fGetCPUInfo = Int(NumberOfProcessors)
    ' iCPUCoreCount = Int(NumberOfLogicalProcessors)
    End If
    End Function
    '====================================================
    '====================================================
    Function fGetComputerSystemProdIDNumber(strWQLID)
    'Aim: Get UUID from Win32_ComputerSystemProduct
    'Return: great big integer
    Dim colSys,objSys
    Dim strUUID
    On Error resume next
    Set colSys = GetObject("winmgmts:").ExecQuery(strWQLID,"WQL",lFlags)
    If Err then
    Call ErrHandler("fGetComputerSystemProdIDNumber: Error querying " & strWQLID,2)
    Else
    For Each objSys In colSys
    If Not IsNull(objSys.IdentifyingNumber) Then
    strUUID = Trim(objSys.IdentifyingNumber)
    End If
    Next
    If strUUID = "" Then
    fGetComputerSystemProdIDNumber = "UNKNOWN"
    Else
    fGetComputerSystemProdIDNumber = strUUID
    End If
    End If
    End Function
    '=================================================================================
    '=================================================================================
    Function fGetDrives(strQuery)
    Dim colDisks,objHDD
    Dim strDriveType, strDiskSize, strDisk
    Dim strDiskFSType
    Dim iGBUnits
    On Error Resume Next
    iGBUnits=1073741824
    Dim iRAW
    iRAW=0
    Set colDisks = GetObject("winmgmts:").ExecQuery(strQuery)
    For Each objHDD In colDisks
    Select Case objHDD.DriveType
    Case 1 strDriveType = "Drive could not be determined."
    Case 2 strDriveType = "Removable Drive"
    Case 3 strDriveType = "Local hard disk."
    Case 4 strDriveType = "Network disk."
    Case 5 strDriveType = "Compact disk (CD)"
    Case 6 strDriveType = "RAM disk."
    Case Else strDriveType = "Drive type Problem."
    End Select
    strDiskFSType = objHDD.FileSystem
    'Find C
    If objHDD.Name="C:" Then
    If isNull(objHDD.FreeSpace) Then
    If blnDebug=True then Call ErrHandler("ALERT!! Volume " & objHDD.Name & "is RAW",1) 'Abort/clean
    fCheckDrives="ALERT!! Volume " & objHDD.Name & "is RAW"
    End If
    End If
    strDiskSize = Int(objHDD.Size /iGBUnits) & "GB" 'calc size of disk
    strDisk = strDisk & VbCrLf & "Vol " & objHDD.Name & " (" & strDriveType & ") size: " & strDiskSize & " (free: " & Int(objHDD.FreeSpace /iGBUnits) & "GB), " & strDiskFSType
    fGetDrives=strDisk
    Next
    If (Err.Number <>0) Then
    Call ErrHandler("WMI Property Query Error: [" & Err.Number & "]",2)
    fGetDrives = -1
    Exit Function
    End If
    End Function
    '=================================================================================
    '=================================================================================
    Function fUniversalCheckData(varData,strStage) 'template
    'Aim: Check value passed...
    'is not blank
    'is in range x..y
    'spelt OK
    'is in a list
    'format is text, numeric
    'return: string: the original value
    On Error Resume Next
    Dim Err
    if blnDebug Then StatusBar.InnerText = StatusBar.InnerText & VbCrLf & "Validating " & strStage & " data..."
    If Err Then
    Call ErrHandler("WARNING: Error discovering value in " & strStage,2) '1=Quit,2=Warn
    strHTAModel="Unknown"
    Else
    Select Case varData
    Case IsEmpty(varData) Or IsNull(varData)
    Call ErrHandler("WARNING: Error in "& strStage,2) '1=Quit,2=Warn
    fUniversalCheckData="Unknown"
    Case IsNumeric(varData)
    If varData<0 Then
    Call ErrHandler("WARNING: Value negative"& strStage,2) '1=Quit,2=Warn
    fUniversalCheckData="Unknown"
    End if
    ' & varData &
    Case IsDate(varData)
    Case Else
    fUniversalCheckData=varData 'Data OK - return value unchanged
    End Select
    End If
    End Function
    '=================================================================================
    'Checks - follow if true DO, if false warn/abort
    '=================================================================================
    Function fCheckBattery(strQuery)
    'Aim: Find if battery is running
    'Return pass/fail
    On Error Resume Next 'equiv to Err.Clear
    Const wbemFlagReturnImmediately = &h10
    Const wbemFlagForwardOnly = &h20
    Dim colItems, item
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\WMI")
    Set colItems = objWMIService.ExecQuery("SELECT * FROM BatteryStatus Where Voltage > 0", "WQL", _
    wbemFlagReturnImmediately + wbemFlagForwardOnly)
    For Each item In colItems
    if objItem.PowerOnline = True Then
    strHTABattery=objItem.PowerOnline
    strHTABatteryState = cFail
    Err.Raise 9010,"fCheckBattery",strHTABattery & " Laptop running on battery. OSD Cannot continue."
    Call ErrHandler(ucase(strHTABatteryState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1)
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "FATAL ERROR - Laptop on Battery. Please plug into an outlet before proceeding."
    iTimer = window.setTimeout("Abort", iAbortTimeout, "VBScript")
    Else
    strHTABatteryState = cPassed
    End if
    Next
    fCheckBattery=strHTABattery
    End Function
    '====================================================
    Function fCheckProcess(strQuery)
    'Aim: Find if outlook is running
    'Return pass/fail
    On Error Resume Next 'equiv to Err.Clear
    Dim colItems, item
    Set colItems = GetObject("winmgmts:").ExecQuery(strQuery,"WQL",lFlags)
    For Each item In colItems
    if item.Name = "OUTLOOK.EXE" Then
    strHTAOutlook=item.Name
    strHTAOutlookState = cFail
    Err.Raise 9010,"fCheckOutlook",strHTAOutlook & " running. OSD Cannot continue."
    Call ErrHandler(ucase(strHTAOutlookState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1)
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "FATAL ERROR - Outlook Running, please close outlook before proceeding."
    iTimer = window.setTimeout("Abort", iAbortTimeout, "VBScript")
    Elseif item.Name = "communicator.exe" Then
    strHTAOutlook=item.Name
    strHTAOutlookState = cFail
    Err.Raise 9010,"fCheckOutlook",strHTAOutlook & " running. OSD Cannot continue."
    Call ErrHandler(ucase(strHTAOutlookState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1)
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "FATAL ERROR - Communicator Running, please close OCS before proceeding."
    iTimer = window.setTimeout("Abort", iAbortTimeout, "VBScript")
    Else
    strHTAOutlookState = cPassed
    End if
    Next
    fCheckProcess=strHTAOutlook
    End Function
    '====================================================
    '1 - Make
    Function fCheckVendor(strVendor)
    'Aim: Check make is one the OS/build is designed For
    'Return: STRINGS for "Make", BIOS version and BIOS date (generic): strHTAVendorState pass or fail
    On Error Resume Next
    Dim colItems,objItem
    Set colItems = GetObject("winmgmts:").ExecQuery(strVendor, "WQL", lFlags)
    For Each objItem In colItems
    strHTAVendor=objItem.Manufacturer
    if objApprovedMakesDict.exists(strHTAVendor) then
    strBIOSver=objItem.SMBIOSBIOSVersion
    strBIOSDate=Mid( objItem.ReleaseDate, 5, 2 ) & "/" & Mid( objItem.ReleaseDate, 7, 2 ) & "/" & Left( objItem.ReleaseDate, 4 )
    strHTAVendorState=cPassed
    Else
    strHTAVendorState=cFail
    Err.Raise 9010,"fCheckVendor",strHTAVendor & " found. The build will not work on this make of hardware"
    Call ErrHandler(ucase(strHTAVendorState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1)
    bAbortBuild=True
    end if
    Next
    fCheckVendor=strHTAVendor
    End Function
    '=================================================================================
    '=================================================================================
    '2 - Models check
    Function fCheckModel(strThisModel)
    'Aim Check target machine is in list of models
    'Return string
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking model..." & VbCrLf
    If objModelsDict.exists(trim(strThisModel)) then ' if current model in objDict then huzzah
    strHTAModelState=cPassed
    StatusBar.InnerText=StatusBar.InnerText & vbTab & "Model detected: " & vbTab & strHTAModelState
    Else
    strHTAModelState=cFail
    Err.Raise 9010,"fCheckModel",strThisModel & " found. The build will not work on this model of hardware"
    Call ErrHandler(ucase(strHTAModelState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1)
    end if
    fCheckModel=strHTAModel
    End Function
    '=================================================================================
    '=================================================================================
    '3 - RAM
    Function fCheckRAM(strRAM)
    'Aim: Check installed RAM > x
    'Return string digits with units, e.g. 4GB
    'use strHTARAM for value
    '==================================================================
    ' Memory Preflight Check (from MDT2012)
    '==================================================================
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking RAM..."
    If Err.Number <> 0 Then
    Call ErrHandler("Error occurred while calculating computer's memory.",2)
    End If
    fCheckRAM = Int(strRAM/1024) & "GB" 'format in GB
    If Int(strRAM) > cMinimumMemoryMB Then
    strHTARAMState=cPassed 'Sufficient memory - show whole number in GB"
    StatusBar.InnerText=StatusBar.InnerText & vbTab & "RAM installed: " & vbTab & strHTARAMState
    Else
    strHTARAMState=cFail
    Err.Raise 9030 ,"fCheckRAM","Not enough memory in this machine!" & " Required physical memory is: " & cMinimumMemoryMB & " MB."
    Call ErrHandler(ucase(strHTARAMState) & ": " & Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1) 'abort build
    End If
    End Function
    '=================================================================================
    '=================================================================================
    '4 - NTFS disk
    Function fCheckNTFS(strDiskFS)
    'Aim: Check HDD is NTFS
    'Return string
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking file system is not RAW..."
    If Instr(1,strDiskFS,cMinFS,VBTextCompare)<>0 Then
    fCheckNTFS=cMinFS 'disk format is OK (NTFS)
    StatusBar.InnerText=StatusBar.InnerText & vbTab & " File system: " & cPassed
    Else
    fCheckNTFS=cFail
    Err.Raise 9040 ,"fCheckNTFS","WARNING: Disk not correct file-system. Type required is: " & cMinFS & "." & VbCrLf & _
    "The deployment will fail unless you reformat the target disk immediately."
    Call ErrHandler(Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",2) 'halt build
    End If
    End Function
    '====================================================
    '=================================================================================
    '5 - CPU checks
    '=================================================================================
    Function fCheckCPUSpeed(strCPU) 'any HW
    'Aim: Check CPU speed
    'Return string = number + appropriate units, e.g. 5HGz (strCPU)
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking CPU spec..."
    Select Case Right(strCPU,3) 'check units
    Case "MHz"
    strCPU=Left(strCPU,4)/1000 'reformat to GHz
    Case "GHz"
    strCPU=strCPU 'unit already OK
    Case Else
    Call ErrHandler("CPU units are unknown",2)
    End Select
    'Check clock speed
    If Int(Left(trim(strCPU),1))>=iMinCPUSpeed Then
    fCheckCPUSpeed=strHTACPUSpeed 'CPU is fine i.e don't change value
    StatusBar.InnerText=StatusBar.InnerText & vbTab & "CPU Speed: " & cPassed
    Else
    fCheckCPUSpeed=cFail 'already in GHz
    Err.Raise 9050,"fCheckCPUSpeed","CPU speed pre-requisite failed. Minimum processor clock speed is: " & iMinCPUSpeed
    Call ErrHandler(Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1) 'halt build
    End If
    End Function
    '=================================================================================
    '=================================================================================
    Function fCheckCPUArch(strCPUArch) 'any HW
    'Aim: Check CPU width
    'Return string
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking CPU bus width..."
    'Check clock speed
    If Int(Left(trim(strCPUArch),2))>=iMinCPUArch Then
    fCheckCPUArch=strHTAArchitecture 'CPU is fine i.e don't change value
    StatusBar.InnerText=StatusBar.InnerText & vbTab & "CPU width: " & cPassed
    Else
    fCheckCPUArch=cFail 'already in GHz
    Err.Raise 9052,"fCheckCPUArch","CPU width pre-requisite failed. Minimum processor width required is: " & iMinCPUArch
    Call ErrHandler(Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",1) 'abort build
    End If
    End Function
    '=================================================================================
    Function fCheckCores(iCores)
    'Aim: Check hardware (CPU) has a minimum number of cores
    'Return Integer
    On Error Resume Next
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & "Checking CPU cores..."
    If iCores>=iMinCores Then
    fCheckCores=iCores
    StatusBar.InnerText=StatusBar.InnerText & vbTab & "Core count: " & vbTab & cPassed
    'StatusBar.InnerText=StatusBar.InnerText & vbTab & "CPU cores: " & cPassed
    Else
    fCheckCores=cFail
    Err.Raise 9051,"fCheckCores","WARNING: Not enough cores on the CPU to support the build. Minimum CPU cores is: " & iMinCores
    Call ErrHandler(Err.Description & " (Code: " & Err.Number & " - " & Err.Source & ")",2) 'halt build
    End If
    End Function
    '=================================================================================
    '=================================================================================
    Function fCheckHPCPUSpeed 'HP ONLY
    'Aim: Check CPU speed
    'return: string
    'Check CPU speed
    On Error Resume Next
    strWQLCPU = "processor speed"
    strTemp=QueryHPBIOS(strWQLCPU,"")
    Select Case Right(strTemp,3)
    Case "MHz"
    strTemp=Left(strTemp,4)/1000 'reformat to GHz
    Case "GHz"
    strTemp 'is OK
    Case Else
    Call ErrHandler("CPU is unknown",2)
    End Select
    'Check clock speed
    If strTemp>=iMinCPUSpeed Then
    fCheckCPUSpeed= strTemp & "GHz"
    Else
    Err.Raise 9050,,"CPU speed pre-requisite failed"
    Call ErrHandler("CPU is too slow",1)
    fCheckCPUSpeed=cFail 'already in GHz
    End If
    End Function
    '=================================================================================
    '=================================================================================
    Function fGetModels
    'Aim: Read external text file
    'return: dictionary object - models as key, integer as value e.g. Dell Optiplex,12
    'On Error Resume Next
    Dim objFSO
    Dim objFile
    Dim strFile
    Dim strEntry
    Dim n
    Dim strfilepath
    Dim iLineCount 'count lines to avoid listing first item with ,.
    Set objModelsDict = CreateObject("Scripting.Dictionary")
    set objFSO=CreateObject("Scripting.FileSystemObject")
    Const ForReading=1
    strfilepath = Left(window.location.pathname,InStrRev(window.location.pathname,"\"))
    strFile=strfilepath & "Models.txt"
    set objFile=objFSO.OpenTextFile(strFile,ForReading)
    iLineCount=0
    'read in each line of data until you reach the end of the file
    do While objFile.AtEndOfStream<>True
    strEntry=objFile.ReadLine
    'you can now do what ever you want with the line as referenced with the strEntry variable such as
    'echoing it back (e.g. wscript.Echo strEntry) or passing it as a variable to a function of subroutine (e.g. MyFunction strEntry)
    objModelsDict.comparemode=VBTextCompare
    objModelsDict.Add strEntry,iLineCount
    iLineCount=iLineCount+1
    If blnDebug then
    If iLineCount=1 Then
    StatusBar.InnerText=trim(strEntry)
    Else
    StatusBar.InnerText=StatusBar.InnerText & ", " & trim(strEntry) 'list models
    End If
    End If
    Loop
    objFile.Close
    End Function
    '=================================================================================
    '=================================================================================
    '====================================================
    Function ErrHandler(strErrorMsg,iErrMode)
    'Aim: to handle error states
    ' 1 = Abort
    ' 2 = Warn
    'Return 'Appropriate text message explaining the error
    '====================================================
    Const msgTitle="SCCM Deployment Preflight Checklist"
    'On Error Resume Next '< don't use that as we want to KEEP the error properties
    'Abort=1
    If iErrMode=1 Then
    StatusBar.InnerText=strErrorMsg 'overwrite status with Error message
    ' StatusBar.InnerText=StatusBar.InnerText & VbCrLf & " " & strHTAOutlook & " " & strHTAVendor & " " & strHTAVendorState & _
    ' VbCrLf & " " & strHTAModel & strHTAModelState & _
    ' VbCrLf & " " & strHTARAM & strHTARAMState & _
    ' VbCrLf & " " & strHTAHDD & strHTAHDDState
    iTimer = window.setTimeout("Abort", iAbortTimeout, "VBScript") 'Abort (close) after n seconds
    'MsgBox strErrorMsg,vbExclamation,msgTitle
    'ErrBar.class=""
    ElseIf iErrMode=2 Then
    'Warning
    StatusBar.InnerText=StatusBar.InnerText & VbCrLf & strErrorMsg & " " '& "(" & Err.Description & " :" & Err.Number & ")"',vbExclamation,msgTitle
    Err.Clear
    End If
    End Function
    '====================================================
    Sub Abort
    'Aim: Quit gracefully
    window.close()
    End Sub
    </script>
    <!-- #region BODY -->
    <body>
    <br />
    <div>
    <span style="version"> <span id="VersionSpan"></span></div>
    <div style="text-align: center;">
    <H1 style="font-family: Arial, Helvetica, sans-serif; font-size: large; text-align: center; color: #000000; text-transform: capitalize">System information</H1>
    <span>
    <table border="1" cellspacing="0" cellpadding="0" style="width: 912px"
    id="SysInfoTable">
    <tr class="h1">
    <td align="right" class="Header1" style="width: 76px; height: 18px">
    </td>
    <td align="right" class="Header1" style="height: 18px"><em id="VendorCaption">Vendor</em></td>
    <td align="left" class="style2" style="height: 18px"><span id="Vendor"></span></td>
    <td align="right" class="Header2" style="height: 18px"><em id="ModelCaption">Model</em></td>
    <td align="center" class="style4" style="width: 400px; height: 18px"><span id="Model"></span></td>
    </tr>
    <tr>
    <td align="right" class="Header1" style="width: 76px">
    </td>
    <td align="right" class="Header1"><em id="ProductCaption">Product ID</em></td>
    <td align="left" class="style2"><span id="Product"></span></td>
    <td align="right" class="Header2"><em id="RAMCaption">Memory(in MB)</em></td>
    <td align="left" class="style4" style="width: 400px"><span id="RAM"></span></td>
    </tr>`
    <tr>
    <td align="right" class="Header1" style="width: 76px">
    </td>
    <td align="right" class="Header1"><em id="CPUCaption">CPU speed (in GHz)</em></td>
    <td align="left" class="style2"><span id="CPUspeed"></span></td>
    <td align="right" class="Header2"><em id="CPUInfoCaption">No: CPU\Cores</em></td>
    <td align="left" class="style4" style="width: 400px"><span id="CPUInfo"></span></td>
    </tr>
    <tr>
    <td align="right" class="Header1" style="width: 76px">
    </td>
    <td align="right" class="Header1"><em id="DiskFSCaption">Filesystem info</em></td>
    <td align="left" class="style2"><span id="HDDFS"></span></td>
    <td align="right" class="Header2"><em id="CapableArchCaption">Architecture</em></td>
    <td align="left" class="style4" style="width: 400px"><span id="CapableArchitecture"></span></td>
    </tr>
    <tr>
    <td align="right" class="Header1" style="width: 76px">
    </td>
    <td align="right" class="Header1"><em id="BIOSVerCaption">BIOS version</em></td>
    <td align="left" class="style2" ><span id="BIOSVERSION"></span></td>
    <td align="right" class="Header2"><em id="BIOSDateCaption">BIOS Date</em></td>
    <td align="left" class="style4" style="width: 400px"><span id="BIOSDate"></span></td>
    </tr>
    </table>
    </span>
    </div>
    <div class="StatusBar">
    <br />
    <Span id="StatusBar">Loading...please wait.</Span>
    </div> <br><br>
    <div align="center">
    <input type="button" name="btnStop" id="btnStop" value="Continue" onclick="Abort">
    <input type="Button" value="Re-Scan Machine" name="button1" onClick="Window_Onload" class="button">
    </div>
    </body><!-- #endregion -->
    </html>

  • IOS 8:  Where can I see count of photos in an album?

    How do I see the count of photos in an album on my device?  Don't tell me to look in iTunes on the Photos tab.  Too many times iTunes doesn't sync all the photos in an album and I liked to cross check the counts on the device.  It doesn't appear I can do that any more in iOS 8 (Thanks Tim!).
    Or is there something I'm missing?
    Regards, Patrick

    You're welcome. I think you use to be able to delete a post within the first 15 minutes of posting. Beyond that only a host can remove a post and usually for a good reason. Do you have a post in mind ? I can alert a host that you want it removed.

  • How can i get a counter to tell me how many checkboxes have been selected?

    package arabiclanguagelearning;
    import java.awt.BorderLayout;
    import java.awt.Frame;
    import javax.swing.JDialog;
    import javax.swing.JPanel;
    import java.awt.Rectangle;
    import javax.swing.JTextArea;
    import com.borland.jbcl.layout.VerticalFlowLayout;
    import javax.swing.JLabel;
    import javax.swing.*;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Toolkit;
    import java.awt.Image;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.CheckboxGroup;
    import java.awt.event.ItemListener;
    import java.awt.event.ItemEvent;
    import java.awt.event.KeyEvent;
    * <p>Title: Arabic Language Learning</p>
    * <p>Description: </p>
    * <p>Copyright: Copyright (c) 2007</p>
    * <p>Company: </p>
    * @author iPortal
    * @version 1.0
    public class ReadingTest extends JDialog implements ItemListener{
        //ImageIcon myImage = new ImageIcon("image.jpg");
        JPanel panel1 = new JPanel();
        JLabel jLabel1 = new JLabel();
        JLabel jLabel3 = new JLabel();
        JButton jButton1 = new JButton(new ImageIcon ("image.jpg"));
        ButtonGroup question1 = new ButtonGroup();
        CheckboxGroup question2 = new CheckboxGroup();
        JTextArea question1Text = new JTextArea();
        JRadioButton q1A = new JRadioButton();
        JRadioButton q1B = new JRadioButton();
        JRadioButton q1C = new JRadioButton();
        JTextArea question2Text = new JTextArea();
        JTextField question2TextArabic = new JTextField();
        JCheckBox jCheckBox1 = new JCheckBox();
        JCheckBox jCheckBox2 = new JCheckBox();
        JCheckBox jCheckBox3 = new JCheckBox();
        JCheckBox jCheckBox4 = new JCheckBox();
        JLabel jLabel2 = new JLabel();
        StringBuffer choices;
        //will keep a count on how many checkboxes selected for question 2
        int count;
        JLabel jLabel4 = new JLabel();
        JLabel jLabel5 = new JLabel();
        JLabel jLabel6 = new JLabel();
        JButton Submit = new JButton();
        JLabel jLabel7 = new JLabel();
        public ReadingTest(Frame owner, String title, boolean modal) {
            super(owner, title, modal);
            try {
                setDefaultCloseOperation(DISPOSE_ON_CLOSE);
                jbInit();
                pack();
            } catch (Exception exception) {
                exception.printStackTrace();
        public ReadingTest() {
            this(new Frame(), "ReadingTest", false);
        private void jbInit() throws Exception {
            panel1.setLayout(null);
            this.getContentPane().setLayout(null);
            jLabel1.setFont(new java.awt.Font("Tahoma", Font.BOLD, 24));
            jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
            jLabel1.setIcon(null);
            jLabel1.setText("Welcome to the reading tutorial");
            jLabel1.setBounds(new Rectangle(49, 4, 509, 67));
            jLabel3.setFont(new java.awt.Font("Tahoma", Font.PLAIN, 14));
            jLabel3.setToolTipText("");
            jLabel3.setHorizontalAlignment(SwingConstants.CENTER);
            jLabel3.setHorizontalTextPosition(SwingConstants.CENTER);
            jLabel3.setText(
                    "Please answer the questions below after reading the text");
            jLabel3.setVerticalTextPosition(SwingConstants.TOP);
            jLabel3.setBounds(new Rectangle(48, 83, 515, 60));
            jButton1.setBounds(new Rectangle(509, 63, 98, 44));
            jButton1.setText("Hide me!");
            jButton1.addActionListener(new ReadingTest_jButton1_actionAdapter(this));
            question1Text.setBackground(Color.lightGray);
            question1Text.setFont(new java.awt.Font("Tahoma", Font.BOLD, 14));
            question1Text.setEditable(false);
            question1Text.setText("What is the first letter of the arabic alphabet?");
            question1Text.setBounds(new Rectangle(64, 158, 319, 19));
            q1A.setFont(new java.awt.Font("Tahoma", Font.BOLD, 16));
            q1A.setText("?");
            q1A.setBounds(new Rectangle(60, 189, 93, 23));
            q1B.setFont(new java.awt.Font("Tahoma", Font.BOLD, 16));
            q1B.setText("?");
            q1B.setBounds(new Rectangle(60, 214, 93, 23));
            q1C.setFont(new java.awt.Font("Tahoma", Font.BOLD, 16));
            q1C.setText("?");
            q1C.setBounds(new Rectangle(60, 241, 93, 23));
            question2Text.setBackground(Color.lightGray);
            question2Text.setFont(new java.awt.Font("Tahoma", Font.BOLD, 14));
            question2Text.setEditable(false);
            question2Text.setText(
                    "Choose the two correct words which finish the sentence.");
            question2Text.setBounds(new Rectangle(64, 281, 402, 19));
            question2TextArabic.setFont(new java.awt.Font("Tahoma", Font.BOLD, 16));
            question2TextArabic.setText("?? ????? ??????? ___ ???? ___ ?? ???????");
            question2TextArabic.setBounds(new Rectangle(63, 311, 404, 30));
            this.setForeground(Color.white);
            jCheckBox1.setFont(new java.awt.Font("Tahoma", Font.BOLD, 13));
            jCheckBox1.setText("????");
            jCheckBox1.setBounds(new Rectangle(63, 356, 81, 23));
            jCheckBox1.addActionListener(new ReadingTest_jCheckBox1_actionAdapter(this));
            jCheckBox1.addItemListener(this);
            jCheckBox2.setFont(new java.awt.Font("Tahoma", Font.BOLD, 13));
            jCheckBox2.setText("????");
            jCheckBox2.setBounds(new Rectangle(162, 356, 81, 23));
            jCheckBox2.addItemListener(this);
            jCheckBox3.setFont(new java.awt.Font("Tahoma", Font.BOLD, 13));
            jCheckBox3.setText("??????");
            jCheckBox3.setBounds(new Rectangle(260, 356, 81, 23));
            jCheckBox3.addItemListener(this);
            jCheckBox4.setFont(new java.awt.Font("Tahoma", Font.BOLD, 13));
            jCheckBox4.setText("?????");
            jCheckBox4.setBounds(new Rectangle(359, 355, 81, 23));
            jCheckBox4.addItemListener(this);
            jLabel2.setText("jLabel2");
            jLabel2.setBounds(new Rectangle(63, 402, 234, 32));
            jLabel4.setText("jLabel4");
            jLabel4.setBounds(new Rectangle(63, 433, 254, 28));
            jLabel5.setText("jLabel5");
            jLabel5.setBounds(new Rectangle(63, 465, 194, 37));
            jLabel6.setText("jLabel6");
            jLabel6.setBounds(new Rectangle(63, 500, 258, 32));
            Submit.setBounds(new Rectangle(507, 575, 115, 52));
            Submit.setText("Submit");
            Submit.addActionListener(new ReadingTest_Submit_actionAdapter(this));
            jLabel7.setText("jLabel7");
            jLabel7.setBounds(new Rectangle(472, 480, 95, 34));
            question1.add(q1A);
            question1.add(q1B);
            question1.add(q1C);
            this.getContentPane().add(panel1, null);
            this.getContentPane().add(Submit);
            panel1.add(jLabel1);
            panel1.add(jLabel3);
            panel1.add(q1A);
            panel1.add(q1B);
            panel1.add(q1C);
            panel1.add(question1Text);
            panel1.add(question2Text);
            panel1.add(question2TextArabic);
            panel1.add(jCheckBox1);
            panel1.add(jCheckBox2);
            panel1.add(jCheckBox3);
            panel1.add(jCheckBox4);
            panel1.add(jButton1);
            panel1.add(jLabel6);
            panel1.add(jLabel5);
            panel1.add(jLabel4);
            panel1.add(jLabel2);
            panel1.add(jLabel7);
            panel1.setBounds(new Rectangle(10, 10, 623, 549));
        public void jButton1_actionPerformed(ActionEvent e) {
            this.setVisible(false);
        public void itemStateChanged(ItemEvent e) {
            int index = 0;
            char c = '-';
            Object source = e.getItemSelectable();
    //count variable works fine in this part
            if (source == jCheckBox1) {
                index = 0;
                c = 'c';
                //assign new string variable the value of text for the checkbox
                String textSelected = jCheckBox1.getText();
                jLabel2.setText("You checked"+ textSelected);
                count = count + 1;
                jLabel7.setText(Integer.toString(count));
            } else if (source == jCheckBox2) {
                index = 1;
                c = 'g';
                String textSelected = jCheckBox2.getText();
                jLabel4.setText("You checked"+ textSelected);
                count = count + 1;
                jLabel7.setText(Integer.toString(count));
            } else if (source == jCheckBox3) {
                index = 2;
                c = 'h';
                String textSelected = jCheckBox3.getText();
                jLabel5.setText("You checked"+ textSelected);
                count = count + 1;
                jLabel7.setText(Integer.toString(count));
            } else if (source == jCheckBox4) {
                index = 3;
                c = 't';
                String textSelected = jCheckBox4.getText();
                jLabel6.setText("You checked"+ textSelected);
                count = count + 1;
                jLabel7.setText(Integer.toString(count));
            //Now that we know which button was pushed, find out
             //whether it was selected or deselected.
    //count variable does not work in this section.
             if (e.getStateChange() == ItemEvent.DESELECTED) {
                 c = '-';
                 Object deselectedItem = e.getItemSelectable();
                 if (deselectedItem==jCheckBox1)
                     jLabel2.setText("You deselected checkbox 1");
                     count = count - 1;
                     jLabel7.setText(Integer.toString(count));
                 else if (deselectedItem==jCheckBox2)
                     jLabel4.setText("You deselected checkbox 2");
                     count = count - 1;
                     jLabel7.setText(Integer.toString(count));
                 else if (deselectedItem==jCheckBox3)
                     jLabel5.setText("You deselected checkbox 3");
                     count = count - 1;
                     jLabel7.setText(Integer.toString(count));
                 else if (deselectedItem==jCheckBox4)
                     jLabel6.setText("You deselected checkbox 4");
                     count = count - 1;
                     jLabel7.setText(Integer.toString(count));
       

    you can call your_checkbox.isSelected() to know whether it's selected for all your check boxes !
    suppose you have an jcheckbox array : JCheckBox[] myCheckBoxArray = ...;
    int counter = 0;
    for(int i=0; i<myCheckBoxArray.legth; i++){
      if(myCheckBoxArray.isSelected())
      counter++;
    }and that's all

  • Work approval count not matching in WCAW and WCL9

    Hi Team,
    I am trying to check the count of Work approvals created within a date range and validate it using tables.
    I am using the WCAW table to get the count of the work approvals by passing the Maintenance Plant (IWERK) and the created date (CRDAT).
    In WCL9, I am passing the Plant again and the valid from date. I am getting the count by using the Settings> List status.
    In the table I am getting 2801 as the count and through the tcode I am getting 2800 as count.
    Can you please help me to understand as to why there is a difference in the count.
    Please help.
    Thanks,
    Beryl

    Hello,
    Yes. You are right. All items would show all the documents that have posting date in the given range.
    Even if you create a document today with pas posting date, it would come in all items list.
    If a document is cleared on a particular day, it would come in cleared list as on that date. If you give one day before, it would show as open item.
    Technically, an item is open and cleared on clearing date.
    EG: At 10 am, item is open. You clear the item after 10 am, status would be cleared after 10. Since SAP dont track clearing time, item would be shown as cleared as on clearing date.
    Note: All items option will always show current status of the item. If you want the status as on particular date, please try open items at key date/cleared items at key date options.
    Post a doc on 15.04.14 with posting date 01.04.14, clear it on 16.04
    Open items option as on 01.04 or 15.04-Shown open
    Cleared item option as on 01.04 or 15.04- No result, as on 16.04, cleared
    All items as on 01.4 to 15.04 (Run on 15.04) -Shows Open, Run on 16.04 with same dates-Shows cleared (Current status)
    You can try posting one document and run with different options to understand better.
    Hope the concept is clear
    Thanks,
    V V

  • Check the source code in absence of physical Hardware

    For one of my applications, i have to work with 4 counters.So i increased counter input channels from 2 to 4 in the source code. But we are yet to get the hardware as we have a PCI card which can read 2 counters. But before we go for the hardware purchase, i want to make sure my source code which has 4 counters work.
    I want to know whether there is any provision to check increased counter channels functioning.
    Pls give me suggestion & procedure if you have any for this type of issues.
    thank you in advance
    -KIRIT

    Do you not know what the typical measurement is supposed to be? By failing data, I mean a measurement that is outside what you would expect. You need this if the count is supposed to be some value and you have code that takes some sort of action when it is outside a limit. If you don't really care, then just set it up to return a range of nominal values.
    Below is some simple code to generate a random number between a min and max range. You can replace the min and max with constants or just have the random count be a constant.
    I hope you are aware that the simulated count function would be used in place of the DAQmx Read/DAQ Assistant. For counters, you cannot use a simulate DAQmx device to return anything but a 0. You could have a case statement with one case having the DAQmx function and the other case having the simulated data function.
    Message Edited by Dennis Knutson on 07-24-2008 01:05 PM
    Attachments:
    Random Number Between a Range.PNG ‏3 KB

  • Container element for Count in Parallel Approval Workflow

    Hi Gurus,
    We are using ECC 6.0 and I have this below requirement. Please share your thoughts on how we can achieve this.
    We are using a User decision step in parallel workflow to generate and send individual work items to multiple approvers. that is, we generate multiple work items and send to individual approvers for the same step in the workflow and get the combined result (Approve or Reject) to proceed further. I understand that individual result for each work item is stored in container element '_RESULT' (0001 for Approve, 0002 for Reject) and combined result of all the sub-work items is stored in '_WI_RESULT' (0001 for Approve, 0002 for Reject). Also, we can see the index # of work items generated for the same step (node) from container element ''_WF_PARFOREACH_INDEX'.
    My requirement is to set work item to COMPLETED status after we obtain a certain # of APPROVE (_RESULT = 0001) decision. Let's say, after 2 of the approvers say Ápproved', then I'd like to close all the other relevant work items and set the Combined result '_WI_RESULT'to APPROVE and Complete the relevant work item. I was wondering if there is a container element that holds the (count) # of work items generated in individual work item container so that I can keep reading this value to see how many decisions have been made. That is, for example, If there are 3 parallel work items generated and 1st user said Äpproved',  is there a way to know out of a total of 3 approvals (to get the combined result '_WI_RESULT'), one is completed and 2 approval decisions are still pending. I'm trying to use step-level Pgm Exit (After_execution Method) to read this container element for # of approvals done and if the combined result '_WI_RESULT'is '0001'(Approve), i'll try to end other work items. One way of doing is to have a custom table to capture this and keep reading this table after each decision. But, I don't want to have all this customization and I believe there should be a way the SAP is storing somewhere this # of completed or Pending approval work items that got originated from a single step/node. One way of doing could be, after each decision, read the dependent work items (having same node # and Parent Work item etc.,) and get the other relevant work items and read their status etc., But I think this is a lengthy process and may be there is an easier way, perhaps some container element that holds this information.
    Please let me know if you need any clarification on my requirement and share your thoughts on how I can achieve easily.
    Appreciate and thank you in advance for your help.
    Regards,
    Venu

    Hi Karri,
    Thank you for your reply. I was actually doing the same with having an APR_COUNT and passing that for each of individual work items and bind it back to task--> wflow container. And keep checking this counter in wf container.
    Once, we obtain certain # of approvals, then I guess I'll have to complete or cancel the other work items.
    I was thinking may be there is some container element already exists that keep track of this, I guess not .
    Thanks for your input
    Regards,
    Venu

  • Procudure to count all the rows in a all tables in the schema

    When I run the following store procedure to count all the rows in all the tables I crash my sql Plus editor:
    CREATE OR REPLACE PROCEDURE TC_TABLEROWCOUNT(OWNER IN varchar2)
    IS
    row_count number;
    cursor get_tab is
    select table_name, num_rows
    from all_tables
    where owner='MAXDEV';
    begin
    dbms_output.put_line('Checking Record Counts for schema maxdev ');
    FOR get_tab_rec IN get_tab LOOP
         BEGIN
              EXECUTE IMMEDIATE 'select count(*) from '||get_tab_rec.table_name
              INTO row_count;
              EXCEPTION WHEN OTHERS THEN
                        dbms_output.put_line('Error counting rows for table '
                                                 ||get_tab_rec.table_name);
         END;
    END LOOP;
    END;
    What am I doing wrong.
    Thanks for any help Tony

    The boss gave me 5 pages of tables and wants to know how many row there are in each table. There is a problem of one DB being out of sync with another.
    But I have managed to work the problem though.
    here is the working code:
    CREATE OR REPLACE PROCEDURE TC_TABLEROWCOUNT (
    TableOwner IN varchar2)
    IS
    row_count number;
    vTable varchar2(30);
    v_sqlstmt varchar2(100);
    cursor get_tab is
    select table_name, num_rows
    from all_tables
    where owner = TableOwner;
    begin
    dbms_output.put_line('Checking Record Counts for schema maxdev ');
    FOR get_tab_rec IN get_tab LOOP
    vTable := get_tab_rec.table_name;
    v_sqlstmt := 'SELECT count(*) from '||vTable;
    EXECUTE IMMEDIATE v_sqlstmt into row_count;
    dbms_output.put_line('Table '|| get_tab_rec.table_name || ' Row ' || row_count);
    END LOOP;
    END;

Maybe you are looking for

  • How to open PSD files from lightroom

    What's the easiest way to open a photo that was edited in LR and then passed to PS-CS3 and saved back to LR as a PSD. I can view the PSD photo in LR but then what's the quickest way to reopen it in PS to let's say make some more changes? Thanks.

  • To Generate Payroll posting data to FI in XSD format in a server location

    Hi Experts,                  I have a requirement where i need to generate the payroll posting data in XSD format. The sender system is using ECC5.0 and receiver system is using ECC6.0 . I thought of using the ALE scenario and i have know idea how to

  • Copying files to SD card using USB card reader

    Everytime I try to copy mp3 files to an SD card using a USB card reader my notebook hangs after just a few MB have been transferred. what should i do?

  • SELECT column problem

    I have created a table by CTAS, i check the database thru sqlplus and sql developer and table most definitely exist. i also confirm by using select * from ATREPORT.INCOME and everything looks fine. but when i try to select a column from the table, it

  • Iphone 4s crashed it has gone into recovery mode

    i was just updating my iphone 4s and all was going well then it has gone into recovery mode but i didnt backup my phone.