Ghost variable

Hi experts,
We encountered a problem last week which still is lasting.
A user added the variable Current Calender Day (SAP Exit) for infoobject Calender day (0DAT) in a query. Then she took away the variable from the query.
However, now this variable shows upp in ALL queries when executing them, even if the variable is not used, and never has been used, in the query.
It defaults todays date, and doesn't have an impact of the query result and performance (at least not what we have discovered sofar). It is however disturbing to be exposed to the variable and all users wonder what it means, and why it is there.
Anyone familiar with the reason for this and how to resolve this "feature"?
BR,
Niclas

Hi,
Yes this is in fact exactly what happened. I changed it back to not ready for input, and then executed the generate in RSRT.
This worked for some of the queries that was "infected" by this, but not for others. So the problem is that the original problem still exists for some queries.
BR,
Niclas

Similar Messages

  • How can I use PowerShell to Remove "Ghost" (Old Hidden) VMware Network Adapters in Windows 7?

    We recently upgrade the virtual hardware of some of our VMware VM's running Windows 7. One side-effect is that in Windows on these machines, an instance of the NIC from the previous version of virtual hardware remains, as a hidden
    device. This can be easily found manually on a machine by enabling Device manager to show hidden devices (registry and a menu option - View...Show Hidden Devices). You can then just right-click on the device in question and uninstall.
    The problem here, like in so many other tasks, is that you may have multiple instances, on multiple machines. We had just that, and in scouring the internet for a PowerShell only script to resolve the issue, I could not find one. Therefore, I've written
    my own.
    This exact script is only seeking out VMware "VMXNET3" nic cards, but could be easily adapted to find Ghost NIC's for a different vendor using my example. There are also some commented lines left in to aid you as an example of how you can
    test the various queries in your own environment, on a test machine, before a full-blown deployment. 
    NOTE: Please try this out (at your own risk - I am not responsible for how this works out for you), and please vote for my answer to this dilemma if this helped you. I'd appreciate it after all of the sweat the script took to crank out.
    Thanks!
    P.S. This script, of course, requires that Powershell is installed and enabled on the target computer. It then must be run as System - In our environment it is being remotely pushed through a software delivery systems, which runs this scrpt
    as system.
    THE SCRIPT:
    CLS
    #Querying WMI for Ghost NICs and Returning Criteria...
     Write-Host "VMware Ghost NIC Remover" -Foreground GREEN
     Write-Host "Author: Octavio Serpa AKA Octavio-Admin"
     Write-Host "Copyright Octavio Serpa - Octavio-Admin - 2014"
     Write-Host ""
     Write-Host "Checking Powershell Version" -Foreground Yellow
     $host.version
     Write-Host ""
     Write-Host "Searching for Ghost NIC's" -Foreground Yellow
     $Ghosts = gwmi win32_NetworkAdapter | ?{$_.Description -like "vm*" -and $_.Installed -like "True" -and $_.MACAddress -eq $null}
     $Ghosts | Select-Object Name,DeviceID
     If ($Ghosts -NE $NULL)
      Write-Host "One or more ghost NIC'S do exist on this machine. Script will continue..." -foreground RED
      Write-Host ""    
      else
      Write-Host "No ghost NIC's Found :) - Exiting..." -Foreground Green
      Write-Host ""    
      EXIT 0
    #Using Criteria to Obtain the GUID of each Ghost NIC
     Write-Host "Getting NIC Variables" -Foreground Yellow
     foreach ($_ in $Ghosts) {
      $DID = $_.DeviceID
      If ($DID -NE $NULL)
      Write-Host "The NIC DID: $DID"
      else
      Write-Host "$DID is NULL - Exiting..."
      EXIT 666
      if($DID -NOTLIKE "1*")
       Write-Host "Adding additional 0 to registry lookup since the DID is just one character..." - foreground yellow
       Write-Host "" 
       $NICREG = Get-ItemProperty "hklm:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\000$DID"
      ELSE
       $NICREG = Get-ItemProperty "hklm:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\00$DID"
      $GUID = $NICREG.NetCfgInstanceId
      Write-Host "The NIC GUID: $GUID"
                    $PNPDID = $NICREG.DeviceInstanceID
      $PNPDID = $PNPDID.Trimstart("PCI\VEN_15AD&DEV_07B0&SUBSYS_07B015AD&REV_01\")
      Write-Host "The truncated PNPDevice ID is $PNPDID"
      Write-Host ""
      Write-Host "Searching for Registry Keys that match NIC GUID: $GUID" -Foreground Yellow
      $NICREGPATH = @(1..50)
      foreach ($_ in $NICREGPATH)
       $TESTREG = Test-Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\$_" -Verbose
       if($TESTREG -EQ $FALSE)
        #Write-Host ""
        #Write-Host "FALSE: HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\$_ DOES NOT EXIST" -Foreground RED     
        ELSE
        #Write-Host "True - NIC $_ Exists" -Foreground Green
        $NICID = $_    
        $SubPath1 = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\'+$NICID
        #Write-Host "The Sub-Key Path To Query = $SubPath1"
        $SubPath2 = 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\NetworkCards\'+$NICID
        #Write-Host "The Sub-Key Path To Query = $SubPath2"
        $NICProperties = Get-ItemProperty $SubPath1
        #$NICProperties
        $Match = $NICProperties.ServiceName    
        #$Match
        foreach ($_ in $Match) {
        #Write-Host "The NIC GUID found in this registry key is: $_" -Foreground Yellow
        #Write-Host ""
        if($_ -NE $GUID)
        #Write-Host "NO MATCH - THIS NIC HAS NOT BEEN TOUCHED" -Foreground GREEN
                                    #Write-Host ""
        ELSE
        Write-Host "MATCH - Registry Entries for this NIC will be DELETED" -Foreground RED
        Remove-Item $SubPath1 -Recurse  -ErrorAction SilentlyContinue
        Remove-Item $SubPath2 -Recurse  -ErrorAction SilentlyContinue
        $CCS = @("ControlSet001", "ControlSet002")
        foreach ($_ in $CCS) {
         $CCS = $_
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Services\'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose 
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Services\Tcpip\Parameters\Adapters\'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\DeviceClasses\{ad498944-762f-11d0-8dcb-00c04fc3358c}\##?#PCI#VEN_15AD&DEV_07B0&SUBSYS_07B015AD&REV_01#$PNPDID#{ad498944-762f-11d0-8dcb-00c04fc3358c}\#'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\JNPRNA\Parameters\Adapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\NetBT\Parameters\Interfaces\Tcpip_' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Psched\Parameters\NdisAdapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Tcpip\Parameters\Adapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Tcpip\Parameters\DNSRegisteredAdapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Tcpip\Parameters\Interfaces\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\WfpLwf\Parameters\NdisAdapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
                                             if($DID -NOTLIKE
    "1*")
                  $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\000' + $DID
                             Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
           ELSE
           $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\00' + $DID
           Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Enum\PCI\VEN_15AD&DEV_07B0&SUBSYS_07B015AD&REV_01\' + $PNPDID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
    #This is our Success check at the end
     Write-Host ""
     Write-Host "Searching for any remaining Ghost NICs:" -Foreground Yellow
              $Ghosts = gwmi win32_NetworkAdapter | ?{$_.Description -like "vm*" -and $_.Installed -like "True" -and $_.MACAddress -eq $null}
     $Ghosts | Select-Object Name,DeviceID
      If ($Ghosts -NE $NULL)
      Write-Host "There is still at least one ghost NIC present. The remover script may not be functioning correctly. Please contact Octavio-Admin on Microsoft Technet Forums with any questions" -foreground RED
      Write-Host ""
      EXIT 666
      else
      Write-Host "No ghost NIC's Found :) - Exiting..." -Foreground Green
      Write-Host ""    
      EXIT 0

    THE SCRIPT:
    CLS
    #Querying WMI for Ghost NICs and Returning Criteria...
    Write-Host "VMware Ghost NIC Remover" -Foreground GREEN
    Write-Host "Author: Octavio Serpa AKA Octavio-Admin"
    Write-Host "Copyright Octavio Serpa - Octavio-Admin - 2014"
    Write-Host ""
    Write-Host "Checking Powershell Version" -Foreground Yellow
    $host.version
    Write-Host ""
    Write-Host "Searching for Ghost NIC's" -Foreground Yellow
    $Ghosts = gwmi win32_NetworkAdapter | ?{$_.Description -like "vm*" -and $_.Installed -like "True" -and $_.MACAddress -eq $null}
    $Ghosts | Select-Object Name,DeviceID
    If ($Ghosts -NE $NULL)
      Write-Host "One or more ghost NIC'S do exist on this machine. Script will continue..." -foreground RED
      Write-Host ""   
      else
      Write-Host "No ghost NIC's Found :) - Exiting..." -Foreground Green
      Write-Host ""   
      EXIT 0
    #Using Criteria to Obtain the GUID of each Ghost NIC
    Write-Host "Getting NIC Variables" -Foreground Yellow
    foreach ($_ in $Ghosts) {
      $DID = $_.DeviceID
      If ($DID -NE $NULL)
      Write-Host "The NIC DID: $DID"
      else
      Write-Host "$DID is NULL - Exiting..."
      EXIT 666
      if($DID -NOTLIKE "1*")
       Write-Host "Adding additional 0 to registry lookup since the DID is just one character..." - foreground yellow
       Write-Host ""
       $NICREG = Get-ItemProperty "hklm:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\000$DID"
      ELSE
       $NICREG = Get-ItemProperty "hklm:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\00$DID"
      $GUID = $NICREG.NetCfgInstanceId
      Write-Host "The NIC GUID: $GUID"
                    $PNPDID = $NICREG.DeviceInstanceID
      $PNPDID = $PNPDID.Trimstart("PCI\VEN_15AD&DEV_07B0&SUBSYS_07B015AD&REV_01\")
      Write-Host "The truncated PNPDevice ID is $PNPDID"
      Write-Host ""
      Write-Host "Searching for Registry Keys that match NIC GUID: $GUID" -Foreground Yellow
      $NICREGPATH = @(1..50)
      foreach ($_ in $NICREGPATH)
       $TESTREG = Test-Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\$_" -Verbose
       if($TESTREG -EQ $FALSE)
        #Write-Host ""
        #Write-Host "FALSE: HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\$_ DOES NOT EXIST" -Foreground RED    
        ELSE
        #Write-Host "True - NIC $_ Exists" -Foreground Green
        $NICID = $_   
        $SubPath1 = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\'+$NICID
        #Write-Host "The Sub-Key Path To Query = $SubPath1"
        $SubPath2 = 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\NetworkCards\'+$NICID
        #Write-Host "The Sub-Key Path To Query = $SubPath2"
        $NICProperties = Get-ItemProperty $SubPath1
        #$NICProperties
        $Match = $NICProperties.ServiceName   
        #$Match
        foreach ($_ in $Match) {
        #Write-Host "The NIC GUID found in this registry key is: $_" -Foreground Yellow
        #Write-Host ""
        if($_ -NE $GUID)
        #Write-Host "NO MATCH - THIS NIC HAS NOT BEEN TOUCHED" -Foreground GREEN
                                    #Write-Host ""
        ELSE
        Write-Host "MATCH - Registry Entries for this NIC will be DELETED" -Foreground RED
        Remove-Item $SubPath1 -Recurse  -ErrorAction SilentlyContinue
        Remove-Item $SubPath2 -Recurse  -ErrorAction SilentlyContinue
        $CCS = @("ControlSet001", "ControlSet002")
        foreach ($_ in $CCS) {
         $CCS = $_
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Services\'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Services\Tcpip\Parameters\Adapters\'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\DeviceClasses\{ad498944-762f-11d0-8dcb-00c04fc3358c}\##?#PCI#VEN_15AD&DEV_07B0&SUBSYS_07B015AD&REV_01#$PNPDID#{ad498944-762f-11d0-8dcb-00c04fc3358c}\#'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\JNPRNA\Parameters\Adapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\NetBT\Parameters\Interfaces\Tcpip_' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Psched\Parameters\NdisAdapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Tcpip\Parameters\Adapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Tcpip\Parameters\DNSRegisteredAdapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Tcpip\Parameters\Interfaces\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\WfpLwf\Parameters\NdisAdapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
                                             if($DID -NOTLIKE
    "1*")
                  $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\000' + $DID
                             Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
           ELSE
           $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\00' + $DID
           Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Enum\PCI\VEN_15AD&DEV_07B0&SUBSYS_07B015AD&REV_01\' + $PNPDID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
    #This is our Success check at the end
    Write-Host ""
    Write-Host "Searching for any remaining Ghost NICs:" -Foreground Yellow
              $Ghosts = gwmi win32_NetworkAdapter | ?{$_.Description -like "vm*" -and $_.Installed -like "True" -and $_.MACAddress -eq $null}
    $Ghosts | Select-Object Name,DeviceID
      If ($Ghosts -NE $NULL)
    Write-Host "There is still at least one ghost NIC present. The remover script may not be functioning correctly. Please contact Octavio-Admin on Microsoft Technet Forums with any questions" -foreground RED
      Write-Host ""
      EXIT 666
      else
      Write-Host "No ghost NIC's Found :) - Exiting..." -Foreground Green
      Write-Host ""   
      EXIT 0
    Hello Octavio,
    I'm having similar issues with azure VMs (windows server 2008 and 2012). I noticed that the name of the network adapter changes every time the servers are turned off and then on.
    For example every time I perform that action on each VM, the network adapter became to "Microsoft Hyper-V Network Adapter #3" (and then #4, #5, etc).
    I found in to many forums that to resolve that is needed to remove Hidden (Ghost) Network Adapters and most of the people is doing that manually from the device manager (right click on the hidden network adapter and select uninstall).
    Then I found this script created by you and made some changes to find Description -like "Microsoft Hyper-V Network*".
    It seems to find the adapters and also remove them (based on the script results). But if I go to the device manager after restarting the server, all hidden (ghost) adapters are still there (for example Microsoft Hyper-V Network Adapter
    #2, Microsoft Hyper-V Network Adapter #3, Microsoft Hyper-V Network Adapter #4, Microsoft Hyper-V Network Adapter #n).
    The only thing I noticed after running the script is that, in the Control Panel -> Network and Sharing Center, the name of the adapter has no # (Now is shown as “Ethernet” and before as “Ethernet #”)
    This is my script, could you please take a look and tell me if there is something wrong o missing?
    CLS
    #Querying WMI for Ghost NICs and Returning Criteria...
    Write-Host "VMware Ghost NIC Remover" -Foreground GREEN
    Write-Host "Author: Octavio Serpa AKA Octavio-Admin"
    Write-Host "Copyright Octavio Serpa - Octavio-Admin - 2014"
    Write-Host ""
    Write-Host "Checking Powershell Version" -Foreground Yellow
    $host.version
    Write-Host ""
    Write-Host "Searching for Ghost NIC's" -Foreground Yellow
    $Ghosts = gwmi win32_NetworkAdapter | ?{$_.Description -like "Microsoft Hyper-V Network*" -and $_.Installed -like "True" -and $_.MACAddress -eq $null}
    $Ghosts | Select-Object Name,DeviceID
    If ($Ghosts -NE $NULL)
      Write-Host "One or more ghost NIC'S do exist on this machine. Script will continue..." -foreground RED
      Write-Host ""    
      else
      Write-Host "No ghost NIC's Found :) - Exiting..." -Foreground Green
      Write-Host ""    
      EXIT 0
    #Using Criteria to Obtain the GUID of each Ghost NIC
    Write-Host "Getting NIC Variables" -Foreground Yellow
    foreach ($_ in $Ghosts) {
      $DID = $_.DeviceID
      If ($DID -NE $NULL)
      Write-Host "The NIC DID: $DID"
      else
      Write-Host "$DID is NULL - Exiting..."
      EXIT 666
      if($DID -NOTLIKE "1*")
       Write-Host "Adding additional 0 to registry lookup since the DID is just one character..." - foreground yellow
       Write-Host "" 
       $NICREG = Get-ItemProperty "hklm:\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\000$DID"
      ELSE
       $NICREG = Get-ItemProperty "hklm:\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\00$DID"
      $GUID = $NICREG.NetCfgInstanceId
      Write-Host "The NIC GUID: $GUID"
                    $PNPDID = $NICREG.DeviceInstanceID
      $PNPDID = $PNPDID.Trimstart("PCI\VEN_15AD&DEV_07B0&SUBSYS_07B015AD&REV_01\")
      Write-Host "The truncated PNPDevice ID is $PNPDID"
      Write-Host ""
      Write-Host "Searching for Registry Keys that match NIC GUID: $GUID" -Foreground Yellow
      $NICREGPATH = @(1..50)
      foreach ($_ in $NICREGPATH)
       $TESTREG = Test-Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\$_" -Verbose
       if($TESTREG -EQ $FALSE)
        #Write-Host ""
        #Write-Host "FALSE: HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\$_ DOES NOT EXIST" -Foreground RED     
        ELSE
        #Write-Host "True - NIC $_ Exists" -Foreground Green
        $NICID = $_   
        $SubPath1 = 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\'+$NICID
        #Write-Host "The Sub-Key Path To Query = $SubPath1"
        $SubPath2 = 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\NetworkCards\'+$NICID
        #Write-Host "The Sub-Key Path To Query = $SubPath2"
        $NICProperties = Get-ItemProperty $SubPath1
        #$NICProperties
        $Match = $NICProperties.ServiceName    
        #$Match
        foreach ($_ in $Match) {
        #Write-Host "The NIC GUID found in this registry key is: $_" -Foreground Yellow
        #Write-Host ""
        if($_ -NE $GUID)
        #Write-Host "NO MATCH - THIS NIC HAS NOT BEEN TOUCHED" -Foreground GREEN
                                    #Write-Host ""
        ELSE
        Write-Host "MATCH - Registry Entries for this NIC will be DELETED" -Foreground RED
        Remove-Item $SubPath1 -Recurse  -ErrorAction SilentlyContinue
        Remove-Item $SubPath2 -Recurse  -ErrorAction SilentlyContinue
        $CCS = @("ControlSet001", "ControlSet002")
        foreach ($_ in $CCS) {
         $CCS = $_
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Services\'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose 
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Services\Tcpip\Parameters\Adapters\'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\DeviceClasses\{ad498944-762f-11d0-8dcb-00c04fc3358c}\##?#PCI#VEN_15AD&DEV_07B0&SUBSYS_07B015AD&REV_01#$PNPDID#{ad498944-762f-11d0-8dcb-00c04fc3358c}\#'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\'+$GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\JNPRNA\Parameters\Adapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\NetBT\Parameters\Interfaces\Tcpip_' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Psched\Parameters\NdisAdapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Tcpip\Parameters\Adapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Tcpip\Parameters\DNSRegisteredAdapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\Tcpip\Parameters\Interfaces\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\services\WfpLwf\Parameters\NdisAdapters\' + $GUID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
                                             if($DID -NOTLIKE "1*")
                  $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\000' + $DID
                             Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
           ELSE
           $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\00' + $DID
           Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
         $reg1 = 'HKLM:\SYSTEM\' + $CCS + '\Enum\PCI\VEN_15AD&DEV_07B0&SUBSYS_07B015AD&REV_01\' + $PNPDID
         Remove-Item $reg1 -Recurse  -ErrorAction SilentlyContinue -verbose
    #This is our Success check at the end
    Write-Host ""
    Write-Host "Searching for any remaining Ghost NICs:" -Foreground Yellow
              $Ghosts = gwmi win32_NetworkAdapter | ?{$_.Description -like "Microsoft Hyper-V Network*" -and $_.Installed -like "True" -and $_.MACAddress -eq $null}
    $Ghosts | Select-Object Name,DeviceID
      If ($Ghosts -NE $NULL)
    Write-Host "There is still at least one ghost NIC present. The remover script may not be functioning correctly. Please contact Octavio-Admin on Microsoft Technet Forums with any questions" -foreground RED
      Write-Host ""
      EXIT 666
      else
      Write-Host "No ghost NIC's Found :) - Exiting..." -Foreground Green
      Write-Host ""    
      EXIT 0

  • Setting Variables.....

    I have a problem in setting my PATH and SET CLASSPATH variables.....
    SET Path=%Path%;"C:\Program Files\Norton SystemWorks\Norton Ghost\;C:\j2sdk1.4.2_01\lib\tools.jar"
    PATH=%PATH%;"C:\Program Files\Mts;C:\j2sdk1.4.2_01\bin"
    is this correct? I'm using Windows 98 2nd edition. I can't even use the "java -version" command in MS-DOS to check the version. Actually i've installed Java2 SDK1.4.2_01 on my computer. Could anyone please help me?

    set Path=%Path%;"C:\Program Files\Norton SystemWorks\Norton Ghost"
    set PATH=%PATH%;"C:\Program Files\Mts"
    set Path=%PATH%;C:\j2sdk1.4.2_01\bin
    There no need to include tools.jar.

  • Lines & Ghosting

    I'm attempting to put together a video of my daughter.  All the clips included in the video were shot on an iPhone 6 and loaded into Premiere Elements 13.  Some, but not all of these clips show lines and ghosting as shown in the image below when placed in the timeline, these lines and ghosting are also present in the exported files.  The lines and ghosting are not present in the original clips outside of Premiere Elements.  Any idea what i'm doing wrong?
    Thanks in advance

    Thanks for the quick reply.
    Operating system is Windows 7 64 bit. Premiere Elements has been automatically setting the project settings. 
    PROJECT SETTINGS
    Editing Mode: HD 1080i
    Timebase: 29.97
    Frame Size: 1920x1080
    Pixel Aspect: Square Pixels (1.0)
    MEDIAINFO
    General
    Format                                   : MPEG-4
    Format profile                           : QuickTime
    Codec ID                                 : qt 
    File size                                : 11.9 MiB
    Duration                                 : 5s 698ms
    Overall bit rate                         : 17.4 Mbps
    Recorded date                            : 2014-10-30T16:37:07+0800
    Encoded date                             : UTC 2014-10-30 08:37:08
    Tagged date                              : UTC 2014-10-30 08:37:14
    Writing application                      : 8.0.2
    Writing library                          : Apple QuickTime
    ©xyz                                     : -31.7946+115.9897+032.178/
    Model                                    : iPhone 6
    Make                                     : Apple
    com.apple.quicktime.model                : iPhone 6
    com.apple.quicktime.software             : 8.0.2
    com.apple.quicktime.make                 : Apple
    Video
    ID                                       : 1
    Format                                   : AVC
    Format/Info                              : Advanced Video Codec
    Format profile                           : [email protected]
    Format settings, CABAC                   : Yes
    Format settings, ReFrames                : 1 frame
    Codec ID                                 : avc1
    Codec ID/Info                            : Advanced Video Coding
    Duration                                 : 5s 698ms
    Bit rate                                 : 17.4 Mbps
    Width                                    : 1 920 pixels
    Height                                   : 1 080 pixels
    Display aspect ratio                     : 16:9
    Frame rate mode                          : Variable
    Frame rate                               : 30.000 fps
    Minimum frame rate                       : 30.000 fps
    Maximum frame rate                       : 31.579 fps
    Color space                              : YUV
    Chroma subsampling                       : 4:2:0
    Bit depth                                : 8 bits
    Scan type                                : Progressive
    Bits/(Pixel*Frame)                       : 0.279
    Stream size                              : 11.8 MiB (100%)
    Title                                    : Core Media Video
    Encoded date                             : UTC 2014-10-30 08:37:08
    Tagged date                              : UTC 2014-10-30 08:37:14
    Color primaries                          : BT.709
    Transfer characteristics                 : BT.709
    Matrix coefficients                      : BT.709
    Audio
    ID                                       : 2
    Format                                   : AAC
    Format/Info                              : Advanced Audio Codec
    Format profile                           : LC
    Codec ID                                 : 40
    Duration                                 : 5s 698ms
    Source duration                          : 5s 759ms
    Bit rate mode                            : Constant
    Bit rate                                 : 64.0 Kbps
    Channel(s)                               : 1 channel
    Channel positions                        : Front: C
    Sampling rate                            : 44.1 KHz
    Compression mode                         : Lossy
    Stream size                              : 44.1 KiB (0%)
    Source stream size                       : 44.5 KiB (0%)
    Title                                    : Core Media Audio
    Encoded date                             : UTC 2014-10-30 08:37:08
    Tagged date                              : UTC 2014-10-30 08:37:14

  • PacMan and His Many Friends (Ghosts)

    Well, my friend and I are working very diligently on a Pacman game and had it working perfectly... with just PacMan. We have never really explored or used threads, and have only used buffering sporadically.
    So we decided to use Threads on this project of ours, since we wanted the Ghosts each to move at their own speed, and PacMan at his own, of course. So we wrote up our Ghost class... which reads something like this:
    import java.lang.Thread;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Point;
    import javax.swing.JApplet;
    import java.awt.Image;
    public class Ghost extends Thread{
         //Data Fields
         private Graphics g,G;
         private Image Buffer;
         private JApplet app;
         private int gX,gY,gridSize,speed;
         private char direction;
         private Point destination,homePoint;
         private int state;
         private String strat;
         private Color color;
         private boolean staticRoute,running;
         private Sleeper s;
         Ghost(){}
         Ghost(JApplet app,Graphics G,int x,int y,String s, Color c, int gridSize, int speed){
              this.app=app;
              Buffer = app.createImage(app.getWidth(),app.getHeight());
              Graphics g=Buffer.getGraphics();
              this.G=G;
              gX=x;
              gY=y;
              homePoint = new Point(x,y);
              strat=s;
              color=c;
              this.gridSize=gridSize;
              this.speed=speed;
              this.s = new Sleeper();
              this.g=g;
              running=true;
              calcDestination();
         public int getX(){ return gX; }
         public int getY(){ return gY; }
         public String getStrat(){ return strat; }
         public int getState(){ return state; }
         public Color getColor(){ return color; }
         public void run(){
              while(running){
                   if(destination.equals(new Point(gX,gY)))
                        staticRoute=false;
                   calcDestination();
                   if(direction=='R')
                        PacMan.drawLevel(g,gX-1,gY);
                   else if(direction=='L')
                        PacMan.drawLevel(g,gX+1,gY);
                   draw();
                   s.sleep(speed);
                   G.drawImage(Buffer,0,0,app);
         public void stopRun(){
              running=false;
         public void die(){
              destination = new Point((int)homePoint.getX(),(int)homePoint.getY());
              staticRoute=true;
         public void draw(){
              g.setColor(color);
              g.fillOval(((gX+1)*gridSize-(gridSize*2))+2,((gY+1)*gridSize-(gridSize*2))+2,(gridSize*3)-4,(gridSize*3)-4);
         public void calcDestination(){ //Doesn't work as it will in final version, just makes it go back and forth along the bottom or top... trying to get two ghosts going at once
              if(!staticRoute){
                   if(strat.equals("Test")){
                        if(gX==2 && gY==42){
                             destination = new Point(30,42);
                             direction='R';
                        else{
                             destination = new Point(2,42);
                             direction='L';
                        staticRoute=true;
                   if(strat.equals("Test2")){
                        if(gX==2 && gY==2){
                             destination = new Point(30,2);
                             direction='R';
                        else{
                             destination = new Point(2,2);
                             direction='L';
                        staticRoute=true;
              calcPoint();
         public void calcPoint(){  //Excuse the utter stupidity of this method.  It is merely for testing and will be better implemented later.
              if(gY==(int)destination.getY() && (int)destination.getX()>gX)
                   gX++;
              else
                   gX--;
    }Let me explain part of the development behind this...
    First off we started with just PacMan.java. I wrote it pretty much on my own and made it so it would read a series of numbers from a textfile to generate a level. It also contained the speed and how much pelets were worth, but that's not relevant. It worked fine, all of it.
    Then the next step was having a yellow 'circle' move around in that field in the way we wanted it to. That also worked.
    The third step was implementing the warps, which could be represented and generated from the text field itself. This worked and was implemented quite well. However, we did not use Threads up until now.
    The fourth and current step was the Ghost implementation. This isn't going as planned. We use two Graphics objects in our PacMan class (which extends JApplet) and simply drew everything in one step to the 'invisible' one, then at the end of the paint method, draw it all over to the 'visible' graphics object. That worked fine in the previous steps, as mentioned above. However, we ran into a problem with the different speeds of the Ghosts. We passed in the 'invisible' Graphics object and had the Ghosts draw themselves to that via the run method. That worked fine if the speed was the same, but when it was different it created problems. Another problem was that since we passed in the SAME Graphics object, if one of the two Ghost instances changed the color, then it could affect the color of what was being drawn in the main PacMan class. (Usually during the inital display of the level. We'd have red-colored dots.)
    I know this all sounds very... overwhelming.. and trust me, it is for us too. I'm just not sure how to go about solving this problem. If you look at the code closely, I have two Graphics objects for each Ghost. One is the main one from the app, and the other is the one it draws itself to so it prevents Color conflicts. Then at the end of the 'run' method we try drawing the individual Ghost Graphics object to the bigger one... and it all just jumbles up.
    I guess to cut to the chase, what I'm asking for is advice on how to have multiple Ghost Threads running and drawing constantly without conflicts with color or too much lag. (I noticed when we set all the speeds to the same thing then it worked, but it was very choppy) One guess of mine would be to put PacMan on his own Thread, but my brain is so fried I'm not quite sure where to begin. Any guidance/references would be appriciated.

    Personally I think you've got the wrong approach.
    Instead of creating a Thread for every ghost, you should keep yourself to the one you've got in the PackMan class.
    Tough what you need to do is make the whole game frames based.
    You've got a speed variable that you should use to add/increase the X/Y location each frame, something like:
    Ghost[X].newTick();Where newTick() should be something like:
    public void newTick(); {
         x += speed;
         y += speed;
    }and instead of drawing inside the Ghost class you should draw in the PackMan class, no collision with double usage of the Graphics objects.
    Well, I hope you've got the general idea, post a message if you would like a practical example.
    GL HF

  • Problem with Threads and a static variable

    I have a problem with the code below. I am yet to make sure that I understand the problem. Correct me if I am wrong please.
    Code functionality:
    A timer calls SetState every second. It sets the state and sets boolean variable "changed" to true. Then notifies a main process thread to check if the state changed to send a message.
    The problem as far I understand is:
    Assume the timer Thread calls SetState twice before the main process Thread runs. As a result, "changed" is set to true twice. However, since the main process is blocked twice during the two calls to SetState, when it runs it would have the two SetState timer threads blocked on its synchronized body. It will pass the first one, send the message and set "changed" to false since it was true. Now, it will pass the second thread, but here is the problem, "changed" is already set to false. As a result, it won't send the message even though it is supposed to.
    Would you please let me know if my understanding is correct? If so, what would you propose to resolve the problem? Should I call wait some other or should I notify in a different way?
    Thanks,
    B.D.
    Code:
    private static volatile boolean bChanged = false;
    private static Thread objMainProcess;
       protected static void Init(){
            objMainProcess = new Thread() {
                public void run() {
                    while( objMainProcess == Thread.currentThread() ) {
                       GetState();
            objMainProcess.setDaemon( true );
            objMainProcess.start();
        public static void initStatusTimer(){
            if(objTimer == null)
                 objTimer = new javax.swing.Timer( 1000, new java.awt.event.ActionListener(){
                    public void actionPerformed( java.awt.event.ActionEvent evt){
                              SetState();
        private static void SetState(){
            if( objMainProcess == null ) return;
            synchronized( objMainProcess ) {
                bChanged = true;
                try{
                    objMainProcess.notify();
                }catch( IllegalMonitorStateException e ) {}
        private static boolean GetState() {
            if( objMainProcess == null ) return false;
            synchronized( objMainProcess ) {
                if( bChanged) {
                    SendMessage();
                    bChanged = false;
                    return true;
                try {
                    objMainProcess.wait();
                }catch( InterruptedException e ) {}
                return false;
        }

    Thanks DrClap for your reply. Everything you said is right. It is not easy to make them alternate since SetState() could be called from different places where the state could be anything else but a status message. Like a GREETING message for example. It is a handshaking message but not a status message.
    Again as you said, There is a reason I can't call sendMessage() inside setState().
    The only way I was able to do it is by having a counter of the number of notifies that have been called. Every time notify() is called a counter is incremented. Now instead of just checking if "changed" flag is true, I also check if notify counter is greater than zero. If both true, I send the message. If "changed" flag is false, I check again if the notify counter is greater than zero, I send the message. This way it works, but it is kind of a patch than a good design fix. I am yet to find a good solution.
    Thanks,
    B.D.

  • Error while offsetting a variable

    Hello Experts
    I want to display the data for last 5 years in my query. So I tried using the SAP exit variable Current Calendar Year (0CYEAR) and the offset it by 5. However, I am getting the following error message for the query "System error in program SAPLRR12 and form REP_ASSIGN_INITIAL_OPT-01"
    Any Help on this is appreciated and points will be assigned.
    Thanks

    Thanks Chetan for your prompt reply. I have assigned points.
    But I would appreciate if you help me clear my understanding of offseting a variable.
    Say if the Current Calendar Year variable returns 2008, then will offseting that variable by 5 return me the data for years 2008, 2007, 2006, 2005 , 2004. Or, will it just return me the data for 2008 - 5 = 2004 only.
    Thanks
    Rishi

  • Error while Creating Presentation variable

    Hi,I am new to OBIEE
    I am facing this error:
    "A numeric value was expected (received "max("Sales Measures".Dollars)").
    Error Details
    Error Codes: EHWH2A7E"
    1.I am using paint rpd.I want to use presentation variable.
    2.So i took two column in criteria 1.Region 2. Dollars
    3.In Dollars edit formula ,I created presentation variable i.e. @{Doller_presentation}{max("Sales Measures".Dollars)} in the column formula.
    4.And In the same column i use filter
    Add ->presentation variable->variable exp =Doller_presentation and default =max("Sales Measures".Dollars)
    5.I have added this request on dashboard page,but error is coming.
    6.Also i have created dashboard prompt,
    Set presentation variable to "Doller_presentation"
    and in column formula :@{Doller_presentation}{max("Sales Measures".Dollars)}
    and took that prompt on the same dashboard page.
    so promt with 2 values are coming.1.All choces 2.13087528..may be ths is max value of dollar but on click its showing error as
    "Odbc driver returned an error (SQLExecDirectW).
    Error Details
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 42021] The query does not reference any tables. (HY000)
    SQL Issued: SELECT 13087529 FROM Paint ORDER BY 1"
    I am confuse abt use of presentation variable
    Please Help,
    Thanks
    Kapil
    [email protected]
    Edited by: user13098263 on May 9, 2010 10:58 PM
    Edited by: user13098263 on May 9, 2010 11:01 PM
    Edited by: user13098263 on May 9, 2010 11:02 PM
    Edited by: user13098263 on May 9, 2010 11:04 PM

    Hi Rachit
    You answered my doubt.This one really works . Thanks a lot !
    But i have one more doubt i.e if have created the Presentation variable in the dashboard prompt and I want to use it in a report
    i.e the scenario is If I have created a new column i.e " Revised Salary " in the Presentation Services and want the values to be entered there dynamically upon end users choice. For ex the end user selecrts value of 1 then the report would display an increament of 500 to all the employees in the " Revised Salary " column and if the end user select value of 2 .. the report would display a decrement of 500 in the " Revised salary column".
    I am getting the following error :
    ========================================================================
    Error Codes: OPR4ONWY:U9IM8TAC:OI2DL65P
    State: HY000. Code: 10058. [NQODBC] [SQL_STATE: HY000] [nQSError: 10058] A general error has occurred. [nQSError: 59001] Binary Logical operation is not permitted on VARBINARY, INTEGER operand(s). (HY000)
    SQL Issued: SELECT "D0 Time"."T05 Per Name Year" saw_0, "D2 Market"."M04 Region" saw_1, "D4 Product"."P01 Product" saw_2, "D1 Customer"."C1 Cust Name" saw_3, "F1 Revenue"."1-01 Revenue (Sum All)" saw_4, CASE WHEN 0='1' then "F1 Revenue"."1-01 Revenue (Sum All)" +500 else "F1 Revenue"."1-01 Revenue (Sum All)" - 500 end saw_5 FROM "Sample Sales" ORDER BY saw_0, saw_1, saw_2, saw_3
    ========================================================================
    Please NOTE : The column on which I want to do an increament is : "F1 Revenue"."1-01 Revenue (Sum All)"
    Thanks

  • Error message into a Variable.

    Dear users,
    I have a rather usual (unusual from the weekend beers for me though!!) query which I can't figure out a proper way to implement.
    My requirement is like this:
    I have a message class in which I want to define a text 'Employee number & not found'.
    I want to use this in the program, but not to raise this error. Instead, I want to move this error message with the Employee number into a Character(200) variable.
    So instead of using MESSAGE e0xx(messageclass) USING employee number, I would like to move the error text into a variable which looks like:
    lv_text = e0xx(messageclass) USING '1234'   which stores the text 'Employee number 1234 not found' in lv_text.
    How would I acheive it??
    Thanks, V!

    Try tis way
    message e999(00) with i_emp-empno into lv_text.
    press f1 in message will provide you more details

  • Error while creating a Characteristic Variable with Replacement Path

    Hi all,
        I am trying to create the Characteristic Variable ZVLOWDT (Low Date') with Replacement Path on characteristic ZSTARTDT (Start Date) and it gives the error 'Source to replace 'Low Date' is not defined.
       I have created a User Entry Variable VAR_DATE (Start Date) with interval like '01/01/2009 - 01/15/2009'  and  Customer Exit variable ZVCPDAY (does some calculation based on the input of VAR_DATE) on the same ZSTARTDT characteristic. I want to get the 01/01/2009 (lower range date of the selection) into this Characteristic Variable ZVLOWDT. We are in BI 7.0 and the following are it's properties:
    General Tab:
    Description: Low Date
    Technical Name: ZVLOWDT
    Type of Variable: Characteristic Value
    Processing by: Replacement Path
    Reference Characteristic: ZSTARTDT Start Date
    Details Tab:
    Variable Represents : Single value
    Variable is: Mandatory
    Variable is Ready for Input : unchecked
    Replacement Path Tab: Replacement Rule
    Replace Variable with : Variable
    Variable : VAR_DATE
    Replace with : KEY
    Why I am getting this error, PLEASE ?
    Thanks,
    Venkat.

    Hi Khaja,
       We could derive a Variable value from another Variable with out Customer Exit. There is a white paper.
    First have the User Entry Variable (ZV_X) and it accepts the date range like '01/01/2009 - 01/31/2009'. Next create the Characteristic variable (ZV_Y) of Replacement Path for which source variable will be ZV_X and we could get the 'FROM Date' (01/01/2009) from the selection (ZV_X) into it (ZV_Y).
    While creating the Characteristic variable (ZV_Y) of Replacement Path, I didn't find my newly created ZV_X variable in the list of available variables under 'Variable' header in 'Replacement Path' tab and it is causing the error  'Source to replace variable ZV_Y is not defined'. How could I create the Characteristic variable of Replacement Path, PLEASE ?
    Thanks,
    Venkat.

  • Error while assigning a character value to a numeric variable.

    I fire a sql statement and check the number of rows returned by the sql.
    I check this result with the application logs.
    The application logs keeps the sqls fired by the application and the no of rows returned, in the example below the sql returned 8454 rows.
    My script compares the two results.
    ***********Application Log***********
    4/14/2008 11:15:01 AM: 0059 SQL SELECT "CLUSTER_CD",
    4/14/2008 11:15:01 AM: 0060 "PRODUCT_DESC",
    4/14/2008 11:15:01 AM: 0061 "TEAM_CD"
    4/14/2008 11:15:01 AM: 0062 FROM "OPS$TMS"."MAP_CLUSTER_TEAM_PROD"
    4/14/2008 11:15:01 AM:      3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD, 8,454 lines fetched
    ***********Application Log***********
    My script:
    #!/bin/ksh
    typeset -i resA
    typeset -i resB
    opstms_conn_string="abc/[email protected]"
    set `sqlplus -s $opstms_conn_string << EOF
    set pages 0
    WHENEVER SQLERROR CONTINUE
    SELECT count(*)
    FROM MAP_CLUSTER_TEAM_PROD;
    exit
    EOF`
    resA=$1 ##returns 8454
    resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{print $10}'`
    ##resB returns 8,454
    ## here i get syntax error
    if [ $resA -eq $resB ]; then
    echo "QA passed for sql1"
    else
    echo "QA failed for sql1"
    fi
    The problem is as resB is integer variable it does not accept character value: 8,454 so returns a syntax error:
    How do I change the value assigned to resB into a numeric variable?
    error:
    + grep 3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD, BCVP_Main_Loader.qvw.log
    run.ksh[52]: 8,454: syntax error

    Change:
    resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{print $10}'`
    to this:
    resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{print $10}' | tr -d ,`
    to drop the comma. Or you could do it in awk(1):
    resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{ gsub( /,/, "", $10 ); print $10}'`
    Or you could to it all in awk(1):
    resB=`awk '
    /3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD/ {
    gsub( /,/, "", $10 )
    print $10
    ' BCVP_Main_Loader.qvw.log`
    (This example was not tested, it's just for a model.)
    Someone more of an SQL guru than I can probably tell you how to change your numeric locale to avoid presenting those commas in the first place and avoid the problem.
    HTH

  • Error while running a query-Input for variable 'Posting Period is invalid

    Hi All,
    NOTE: This error is only cropping up when I input 12 in the posting period variable selection. If I put in any other value from 1-11 I am not getting any errors. Any ideas why this might be happening?
    I am getting the following error when I try and run a query - "Input for variable 'Posting Period (Single entry, mandatory)' is invalid" - On further clicking on this error the message displayed is as follows -
    Diagnosis
    Variable Posting Period (Single Value Entry, Mandatory) is used as a lower limit (X) and an upper limit () in an interval selection. This limit has the value #.
    System Response
    Procedure
    Enter a different value for variable Posting Period (Single Value Entry, Mandatory). If the value of the other limit is determined by another variable, you can change its value also.
    Procedure for System Administration

    OK.
    Well, if the variable is not used in any interval selection, then I would say "something happened to it".
    I would make a copy of the query and run it to check if I get the same problem with period 12.
       -> If not, something is wrong in the original query (you can proceed as below, if changes to original are permitted).
    If so, then try removing the variable completely from the query and hardcode restriction to 12.
       -> If problem still persists, I would have to do some thinking.
    If problem is gone, then add the variable again. Check.
       -> If problem is back, then the variable "is sick". Only quick thing to do, is to build an identical variable and use that one.
    If problem also happens with the new variable, then it's time to share this experience with someone else and consider raising an OSS.
    Good luck!
    Jacob
    P.S: what fisc year variant are you using?
    Edited by: Jacob Jansen on Jan 25, 2010 8:36 PM

  • Error in using a variable

    Hi All,
    I have got 2 packages, A & B. Package A includes package B and some variables.
    My question out here is that i am using assigning some values to variables in the package B, i want those values to be reflected and be usable in the package A.
    Can you please help.
    Thanks,
    Nithesh B

    Hi Nitesh,
    Please try the below steps and let me know still you face issue on this :-)
    You can ping me on [email protected]
    Steps :-
    Ist create a Gobal variable say GLOBTest (historise , to veiw the result)
    create a local variable say LocTest (historise , to veiw the result)
    Now in first pcakage say PKG1
    step 1 : drag and drop the GLOBTest Variable and select the mode as declare variable
    step 2: call the second package scenario (say PKG2)
    step 3: drag and drop the variable LocTest as assign variable :- and in assign tab put #Global.GLOBTest
    Now in pcakge 2 (PKG2)
    Drag and drop the global variable GLOBTest as assign mode and put the value as "This is a test case"
    generate the scenarios and start the package 1 (PKG1)
    once its executed without error , open the LocTest and check the historise tab , you can see the value of the global variable whcich you assigned from the child package.
    Regards,
    Rathish A M

  • Filename in J2SE Adapter with Variable Substitution

    Hello,
    Within the J2EE receiver fileadapter (and ftp) from SP13 it is possible to compose the target filename and directory based on the payload of a message using variable substitution.
    I wonder if it is also possible to use variable substitution with the J2SE fileadapter. For this it is not documented but i thougth that the same java libraries are used for the J2EE an J2SE file-adapters.
    Aybody??
    Really Nobody??
    Message was edited by: Emile Hermans

    Hello,
    the J2SE Adapter does not support variable subsition. Therefore we created our own class which gets called from the main SAP XI class "XMB2FileProcessor.class" wich is in the jar "aii_msg_adapter.jar". In your own class you can do what ever you need to chane the file name. In the configuration you can set your own parameter to search the payload for a string you want to replace. We also had to come up with our own timestamp, e.g. file2005-11-10 which SAP does not let you do, only the full timestamp is possible.
    One other nice thing is that you can develop our JAVA class local and test it with your local J2SE Adapter Engine on you PC before you deploy it.
    Steps to do:
    1. JAD the SAP class
    2. Put a call in the SAP class
    3. Compile the class
    4. Put the class back in the archive
    5. Create your own class
    6. Create a jar file for it
    7. Put the jar file in the tech_adapter directory
    8. Change the run_adapter start cmd to include your jar file
    It works great, the only issue is if you patch the J2SE engine you have to do step 1 to 4 again but that should it very easy to do.
    Cheers
    Stefan

  • Is null and regular value in where ($variable)

    is there any polibility to create select depend on value in where ?
    select count(x) where y = $variablebut if variable is NULLit doesn't work cause must be IS NULL or IS NOT
    select count(x) where y is $variableIs there any posibility to make it working with null and regular variable?

    try:
    select count(x) from <yourtable> where nvl(y,<not_possible_value>) = nvl($variable,<not_possible_value>);where <not_possible_value> is a value that is not possible for column y.
    E.g. if y always is a positive number you could use the value -1.

Maybe you are looking for