Lockbox overflow sequence

Hi All,
I'm getting the following error when i ran autolockbox.
OVERFLOW RECORDS FOR EACH RECEIPT MUST BEGIN WITH THE SAME SEQUENCE NUMBER.
Then i checked the data file which has more than 100 lines for record type 4 where as it should be 99 for this as per my control file.
INTO TABLE AR_PAYMENTS_INTERFACE
WHEN RECORD_TYPE = '4'
( RECORD_TYPE               POSITION(01:01) CHAR,
BATCH_NAME               POSITION(02:04) CHAR,
ITEM_NUMBER               POSITION(05:07) CHAR,
OVERFLOW_SEQUENCE          POSITION(09:10) CHAR,
OVERFLOW_INDICATOR          POSITION(11:11) CHAR,
INVOICE1               POSITION(12:31) CHAR,
INVOICE2               POSITION(32:51) CHAR,
INVOICE3               POSITION(52:71) CHAR,
INVOICE4               POSITION(72:91) CHAR,
CHECK_NUMBER                POSITION(92:98) CHAR )
To solve this issue i changed the overflow_sequence from two digits to three digits in my control file and in transmission formats setup.
And i changed the data file accordingly.
INTO TABLE AR_PAYMENTS_INTERFACE
WHEN RECORD_TYPE = '4'
( RECORD_TYPE               POSITION(01:01) CHAR,
BATCH_NAME               POSITION(02:04) CHAR,
ITEM_NUMBER               POSITION(05:07) CHAR,
OVERFLOW_SEQUENCE          POSITION(08:10) CHAR,
OVERFLOW_INDICATOR          POSITION(11:11) CHAR,
INVOICE1               POSITION(12:31) CHAR,
INVOICE2               POSITION(32:51) CHAR,
INVOICE3               POSITION(52:71) CHAR,
INVOICE4               POSITION(72:91) CHAR,
CHECK_NUMBER                POSITION(92:98) CHAR )
After doing all these still i'm getting the same error.
Please suggest me do i need to do anything more to increase the overflow_sequence to three digits from two digits.
Thanks in advance,
Edited by: user641008 on Mar 28, 2009 12:48 PM
Edited by: user641008 on Mar 28, 2009 12:49 PM

Hi Anil,
Thanks for the reply.
As per your suggestion i tested both the scenarios its working fine. I able to load both the batches into interface tables without any errors. The control file which i used for record '4' is
INTO TABLE AR_PAYMENTS_INTERFACE
WHEN RECORD_TYPE = '4'
( RECORD_TYPE     POSITION(01:01) CHAR,
BATCH_NAME     POSITION(02:04) CHAR,
ITEM_NUMBER     POSITION(05:07) CHAR,
OVERFLOW_SEQUENCE     POSITION(08:10) CHAR,
OVERFLOW_INDICATOR     POSITION(11:11) CHAR,
INVOICE1     POSITION(12:31) CHAR,
INVOICE2     POSITION(32:51) CHAR,
INVOICE3     POSITION(52:71) CHAR,
INVOICE4     POSITION(72:91) CHAR,
CHECK_NUMBER POSITION(92:98) CHAR )
One more question: is it mandatory to fill the position 8 with '6' all the time?
What is the significance of this?
INTO TABLE AR_PAYMENTS_INTERFACE
WHEN RECORD_TYPE = '4'
( RECORD_TYPE     POSITION(01:01) CHAR,
BATCH_NAME     POSITION(02:04) CHAR,
ITEM_NUMBER     POSITION(05:07) CHAR,
--               POSITION(08:08) CHAR,     -- Record Overflow     -- always 6
OVERFLOW_SEQUENCE     POSITION(09:10) CHAR,
OVERFLOW_INDICATOR     POSITION(11:11) CHAR,
INVOICE1     POSITION(12:31) CHAR,
INVOICE2     POSITION(32:51) CHAR,
INVOICE3     POSITION(52:71) CHAR,
INVOICE4     POSITION(72:91) CHAR,
CHECK_NUMBER POSITION(92:98) CHAR )
Please share your control file for record_type '4' .
Thanks,

Similar Messages

  • BAI2 file format- 4 record

    Hello SAP Guru's-
    In testing the lockbox functionality, I have a client who has a customer that remits with over several hundred line items in one check.  In the 4 record, the bank sent me a file with the following format
    Record Type  4
    Batch Number  001
    Item Number  001
    Overflow Type  4
    Overflow Seq Nbr  01 to 99 then start 01 again
    Last Ovfl Flag  9 (on last record)
    On the Overflow Sequence number, when they got to 99 they started over to 01 on the next line item.  Is this correct?  I understood that they should change the overflow type from a 4 to a 6 and restart with a new 4 record?
    Please help!
    I will AWARD POINTS.
    Many thanks!

    Hi,
    Please go through the following regarding Record 4 for BAI2 file format:
    <i>Record 4: Table FLB24
    4002003401716000002 00000100000000000000
    4002004402918000018 00001000000000000000gh
    • The item in blue is the Record Type indicator. Record Type 4 can appear numerous times in the Lockbox file. Record 4 is the “Item Record” and it is used to hold one invoice each. (Field name OR001)
    • The item in green is the Batch Number for the Lockbox. This item will have 3 characters. (Field name OR002)
    • The item in red is the Batch Item Number for the Lockbox. This item will have 3 characters/spaces. (Field name OR003)
    • The item in purple Type of Overflow record (1 space). In this case, it is a ‘4 record’ because it contains only its own item, not an item overflowed from a preceding 6 Record. (Field name OR004)
    • Bright green is the Sequence Number for the record (2 spaces). (Field name OR005)
    • The item in yellow is the End Indicator for the Lockbox. A ‘9’ indicates the last record of a Lockbox (1 space). (Field name OR006)
    • The next items in black are the Invoice Numbers (16 characters/spaces each). Only 1 invoice is placed into each 4 Record. (Field name IVCNR) The best field format convention would be to use left-justification, blank-padding right for the invoice number(as shown in the Record 4 above).
    • The items in dark yellow are the Payment Amounts per invoice (10 characters/spaces). (FiT)
    • The items in gray are the Deduction Amounts per invoice (10 characters/spaces). MT)
    • Dark Blue is the External Reason Code for the payment. (Field name RESTG)
    • Up to the next 30 character spaces are available for short text. They may be left blank if desired. (Field name OR011)</i>
    In BAI2 overflow type is not changed, 4 is correct. Only in BAI format it is changed.
    Thanks
    Murali.

  • 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>

  • Error occurred in Lockbox Processing.....

    Hello All,
    While running Lockbox import program in Receivables: Interfaces > Lockbox Its ending with Error.
    I herewith submitting the Source file, Data File and Error Logout put file.
    Please look into error and guide me to clear this error.
    Source File:
    -- Type 2 - Lockbox Header
    INTO TABLE AR_PAYMENTS_INTERFACE
    WHEN RECORD_TYPE = '2'
    ( STATUS CONSTANT 'AR_PLB_NEW_RECORD'
    ,RECORD_TYPE POSITION(01:01) CHAR
    ,DESTINATION_ACCOUNT POSITION(02:11) CHAR
    ,ORIGINATION POSITION(12:21) CHAR
    ,LOCKBOX_NUMBER POSITION(22:27) CHAR
    -- Type 6 - Payment record
    INTO TABLE AR_PAYMENTS_INTERFACE
    WHEN RECORD_TYPE = '6'
    ( STATUS CONSTANT 'AR_PLB_NEW_RECORD'
    ,RECORD_TYPE POSITION(01:01) CHAR
    ,LOCKBOX_NUMBER POSITION(02:05) CHAR
    ,BATCH_NAME POSITION(06:08) CHAR
    ,ITEM_NUMBER POSITION(09:11) CHAR
    ,REMITTANCE_AMOUNT POSITION(12:21) DECIMAL external
    ,TRANSIT_ROUTING_NUMBER POSITION(22:30) CHAR
    ,ACCOUNT POSITION(31:44) CHAR
    ,CHECK_NUMBER POSITION(45:54) CHAR
    ,DEPOSIT_DATE POSITION(55:60) DATE 'YYMMDD' NULLIF DEPOSIT_DATE=BLANKS
    -- Type 4 - Overflow
    INTO TABLE AR_PAYMENTS_INTERFACE
    WHEN RECORD_TYPE = '4'
    ( STATUS CONSTANT 'AR_PLB_NEW_RECORD'
    ,RECORD_TYPE POSITION(01:01) CHAR
    ,LOCKBOX_NUMBER POSITION(02:05) CHAR
    ,BATCH_NAME POSITION(06:08) CHAR
    ,ITEM_NUMBER POSITION(09:11) CHAR
    ,OVERFLOW_SEQUENCE POSITION(12:14) CHAR
    ,OVERFLOW_INDICATOR POSITION(15:15) CHAR
    ,INVOICE1 POSITION(16:30) CHAR
    ,CUSTOMER_NUMBER POSITION(34:41) CHAR
    ,AMOUNT_APPLIED1 POSITION(42:51) DECIMAL external
    "DECODE(:AMOUNT_APPLIED1,0,NULL,:AMOUNT_APPLIED1)"
    Data File:
    2GOVT_MGBSS10123456789L820
    6LB01MGB0010001723187 L150 110401
    4LB01MGB100100109100701 00300001023134857
    4LB01MGB100100209100702 00300001023179809
    4LB01MGB100100309100703 00300001023179809
    4LB01MGB100100409100704 00300001023179809
    4LB01MGB100100509100705 00300001023149841
    4LB01MGB100100609100706 00300001023179809
    4LB01MGB100100709100707 00300001023179809
    4LB01MGB100100809100708 00300001023179809
    4LB01MGB100100909100801 00300001023179809
    4LB01MGB100101009100802 00300001023179809
    Log output:
    ARLPLB module: Process Lockboxes
    Current system time is 24-APR-2012 11:40:51
    Starting ARLPLB
    Input parameters:
    Y
    Test15
    Y
    /muthulb/mgbmuthu/LB.txt
    arplbox
    1000
    Y
    N
    2011/05/01 00:00:00
    A
    N
    Y
    N
    120
    L
    Argv value for ignore invalid: |
    Argv value for report format: |A|
    Argv value for complete batches only: |N|
    Argv value for alt name search: |N|
    Argv value for ussgl trx code: |
    Argv value for org id: |120|
    Ignore Invalid Txn Num: |
    Scoring model Id is NULL
    Lockbox id is NULL.
    Inserted ar_transmissions record
    Control file: /d10/appltop/apps/apps_st/appl/ar/12.0.0/bin/arplbox.ctl
    Bad file: /d10/appltop/inst/apps/SOLDEV_mgbr12/logs/appl/conc/log/b539553.bad
    Log file: /d10/appltop/inst/apps/SOLDEV_mgbr12/logs/appl/conc/log/l539553.log
    Discard file: /d10/appltop/inst/apps/SOLDEV_mgbr12/logs/appl/conc/log/d539553.dis
    Username:SQL*Loader-350: Syntax error at line 3.
    Illegal combination of non-alphanumeric characters
    ^
    SQL*Loader: Release 10.1.0.5.0 - Production on Tue Apr 24 11:40:51 2012
    Copyright (c) 1982, 2005, Oracle. All rights reserved.
    0
    AR-ARLPLB: fdpldr returned FALSE.
    AR-ARLPLB: Error in main.
    AR-ARLPLB: 0 ORA-01403: no data found
    Start of log messages from FND_FILE
    End of log messages from FND_FILE
    Executing request completion options...
    Finished executing request completion options.
    AR-ARLPLB: Error in main.
    Thanks and Regards,
    Muthu

    Hi;
    Please check below which could be helpful for your issue:
    AR-ARLPLB: 0 ORA-01403: no data foundTroubleshooting Known Issues In Lockbox [ID 1366298.1]
    Oracle Receivables Lockbox: Known Issues and Patches [ID 1358497.1]
    Receipts Workbench Error: Listing of ORA Errors [ID 1364345.1]
    Regard
    Helios

  • Sql Developer 1.5.5 bug with large sequence start values.

    We have a small table in our sql server 2005 schema (~700) rows. Its primary key is a bigint. We randomly generate ids for this table (don't ask). We have ids for this table which are larger than 2147483647. (java.lang.Integer.MAX_VALUE). I'm using a Windows 10g instance as the repository:
    SQL> select * from v$version
    2 ;
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE 10.2.0.1.0 Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    Capturing this model works fine.
    Converting this model works fine.
    When the converted model is "Generated", Sql Developer stops generating the script before the worksheet window is opened with the generated sql. If run from sqldeveloper/bin, this exception is output to the console:
    java.lang.Exception: java.util.NoSuchElementException
    at oracle.dbtools.migration.workbench.core.ui.AbstractMigrationProgressRunnable.start(AbstractMigrationProgressRunnable.java:141)
    at oracle.dbtools.migration.workbench.core.GenerateInitiator.launch(GenerateInitiator.java:42)
    at oracle.dbtools.raptor.controls.sqldialog.ObjectActionController.handleEvent(ObjectActionController.java:149)
    at oracle.ide.controller.IdeAction.performAction(IdeAction.java:524)
    at oracle.ide.controller.IdeAction.actionPerformedImpl(IdeAction.java:855)
    at oracle.ide.controller.IdeAction.actionPerformed(IdeAction.java:496)
    at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1225)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1266)
    at java.awt.Component.processMouseEvent(Component.java:6134)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
    at java.awt.Component.processEvent(Component.java:5899)
    at java.awt.Container.processEvent(Container.java:2023)
    at java.awt.Component.dispatchEventImpl(Component.java:4501)
    at java.awt.Container.dispatchEventImpl(Container.java:2081)
    at java.awt.Component.dispatchEvent(Component.java:4331)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
    at java.awt.Container.dispatchEventImpl(Container.java:2067)
    at java.awt.Window.dispatchEventImpl(Window.java:2458)
    at java.awt.Component.dispatchEvent(Component.java:4331)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    Caused by: java.util.NoSuchElementException
    at oracle.dbtools.metadata.persistence.PersistableObjectIterator.next(PersistableObjectIterator.java:131)
    at oracle.dbtools.migration.generate.GenerateWorker.generateSequences(GenerateWorker.java:862)
    at oracle.dbtools.migration.generate.GenerateWorker.generateIndividualSchema(GenerateWorker.java:456)
    at oracle.dbtools.migration.generate.GenerateWorker.generateSchema(GenerateWorker.java:365)
    at oracle.dbtools.migration.generate.GenerateWorker.runGenerate(GenerateWorker.java:220)
    at oracle.dbtools.migration.workbench.core.ui.GenerateRunner.doWork(GenerateRunner.java:71)
    at oracle.dbtools.migration.workbench.core.ui.AbstractMigrationProgressRunnable.run(AbstractMigrationProgressRunnable.java:161)
    at oracle.dbtools.migration.workbench.core.ui.MigrationProgressBar.run(MigrationProgressBar.java:569)
    at java.lang.Thread.run(Thread.java:619)
    A problem row can be viewed by issuing this query against the repository:
    select * from md_sequences where seq_start > 2147483647;
    We have one row returned. The oracle.dbtools.metadata.persistence.MdSequence class uses a java.lang.Integer value to store the start value for the sequence. The value stored in the repository's MD_SEQUENCE table overflows the Integer type.
    Updating the SEQ_START column in the MD_SEQUENCE table fixed our problem. (Well, I can now generate the schema. I may have other problems with the sequence being off).
    I've written this post to save someone else the day it took me to diagnose this problem with Sql Developer 1.5.5. At the very least Sql Developer should inform the user that it could not generate the script because of the large sequence start value. It basically swallows any error and terminates script generation without any type of feedback.

    Update: I was able to recreate the problem!
    1. Create a new table (I used TEST).
    2. Mark first column af primary key.
    3. Save the table.
    Notice the name of the primary key index created: (TEST_PK in my case)
    4. Edit the table.
    5. Under constraints change the name of the primary key constraint.
    6. Save the table.
    Notice that the index still has its original name.
    7. Edit the table.
    8. Change something.
    9. Attempt to save changes (Fails).
    Conclusion:
    Either SQL Developer should be aware of indexes with different name than a constraint,
    or when SQL Developer changes the name of a constraint with an index, both the constraint and the index should be renamed.

  • Oracle Account Receivables Lockbox Error, No ITEM NUM on PAYMENT record type.

    Hi,
    For "Process Lockbox" program. The program completes normally, but receipts are not created and I am getting below error in log file:-  
    "AR-ARLFMT: No ITEM NUM on PAYMENT record type."
    This error message is similar to error message mentioned in note id (Troubleshooting Known Issues In Lockbox (Doc ID 1366298.1)) :-
    2.10. Lockbox ends with error: "AR-ARLFMT: No PAYMENT NUM on PAYMENT record type"
    Symptoms
    You are trying to run lockbox and receive this error message in the log file:
    AR-ARLFMT: No PAYMENT NUM on PAYMENT record type.
    Your lockbox interface program has completed successfully, however,there is No Data Found in the AR_PAYMENTS_INTERFACE table.
    Solution
    Responsibility: Receivables Manager
    Navigation: Setup > Receipts > Lockboxes > Transmission Formats
    For the Transmission Format name that you are using, make sure that there is a 'Transmission Record' defined and that there is a Transmission Field with a Field Type of  'Record Identifier' defined.
      Make sure to include the check number in Transmission Format and Control file
    and item number is:-
    Item Number: A sequence number that your bank assigns to a specific payment. This number associates an invoice with a receipt.
    I am passing item number, but still I am getting this error.
    Can anybody please help.
    Thanks in advance.
    Regards
    Gagan Garg

    Hi,
    For "Process Lockbox" program. The program completes normally, but receipts are not created and I am getting below error in log file:-  
    "AR-ARLFMT: No ITEM NUM on PAYMENT record type."
    This error message is similar to error message mentioned in note id (Troubleshooting Known Issues In Lockbox (Doc ID 1366298.1)) :-
    2.10. Lockbox ends with error: "AR-ARLFMT: No PAYMENT NUM on PAYMENT record type"
    Symptoms
    You are trying to run lockbox and receive this error message in the log file:
    AR-ARLFMT: No PAYMENT NUM on PAYMENT record type.
    Your lockbox interface program has completed successfully, however,there is No Data Found in the AR_PAYMENTS_INTERFACE table.
    Solution
    Responsibility: Receivables Manager
    Navigation: Setup > Receipts > Lockboxes > Transmission Formats
    For the Transmission Format name that you are using, make sure that there is a 'Transmission Record' defined and that there is a Transmission Field with a Field Type of  'Record Identifier' defined.
      Make sure to include the check number in Transmission Format and Control file
    and item number is:-
    Item Number: A sequence number that your bank assigns to a specific payment. This number associates an invoice with a receipt.
    I am passing item number, but still I am getting this error.
    Can anybody please help.
    Thanks in advance.
    Regards
    Gagan Garg

  • Keithley 2000 DMM AC Read Overflow

    I’ve been having problems controlling a Keithley 2000 DMM during AC volts measurement using IVI. When reading AC Volts the DMM will intermittently sense an ‘overflow’ and return the value NaN. I’m using IVI and TestStand 3.0 but get the same problem with IVI and LabWindows 7.0.
    The set-up is as follows:
    Device: Keithley 2000 DMM, GPIB device number 6
    Device interface: GPIB, DMM set-up in MAX as GIPB0::6::INSTR
    IVI Driver version: 3.02, downloaded from the NI web site
    IVI Compliance Package version: 2.1
    NI-488.2 version: 1.70
    NI-DAQ version: 7.1.0f1
    MAX version: 3.0.2.3005
    For test purposes I’ve connected the DMM front panel input high and low and set the inputs mode on the Keithley to front, this should mean that I get a very low Voltage reading. I’ve then run the LabWindows/CVI IVI control sample code provided with the IVI driver. At the initialisation panel I’ve entered the logical name. At the configuration panel I’ve selected Volt AC measurement but left everything else as default. The second configuration panel I’ve left as default. At the Read panel I’ve left all setting as default. Pressing the read button up to about 20 times with about a second gap in between each press will eventually lead to an ‘overflow’ reading.
    Any help/explantion will be appreciated
    Steve

    Here are the results of my investigation into this problem, it’s two fold:
    1. Keithley have informed me that their engineers in the US have just seen the problem I’ve been seeing and are working on a firmware update. Currently here is no date for the release of the updated firmware but I’ll be informed when this it’s ready.
    Note: I’ve found that the read AC Volts overflow problem only occurs when the read trigger delay is set to zero seconds.
    2. The TestStand DMM IVI configuration step always sends a trigger delay of zero seconds regardless of the trigger delay set.
    In my TestStand sequence the DMM IVI configuration sets the read trigger delay to 3 seconds but as noted above this is sent a zero seconds thus invoking the Keithley DMM AC Volts read overflow problem.
    See attached VISA call log captured by NI Spy. The first 22 call are made when the DMM IVI configuration step is called form TestStand the next 22 calls are made by the IVI DMM sample code configuration provided by National Instruments when DMM configuration is run thorough LabWindows. Note call 12 (IVI DMM TestStand) has the trigger delay set to zero seconds (should be 3 seconds) and call 34 (IVI DMM LabWindows) has a delay of three seconds.
    I’ve found a workaround as follows:
    After each call to the TestStand DMM IVI configuration step an additional step that calls the TestStand IVI Tools step can be added. The IVI Tools step can be set-up to specifically configure the DMM Trigger Delay to 3 seconds. I’ve proven that this individual call does in fact send the correct trigger delay command to the DMM thus alleviating the AC Volts read overflow problem.
    Can NI confirm that this problem does exist with the DMM IVI step and when they plan to fix it. I’ve attached the TestStand sequence file that I’ve been using to investigate the problem.
    Thanks
    Steve
    Attachments:
    DMM Overflow.zip ‏9 KB

  • ORA-01426: Numeric Overflow During Cube Build (Doc ID 1494869.1)

    Our cube builds starting failing and we received this error after the cube log table sequence reached 32787.
    After recreating the sequence the builds run successfully. This seems to be an unacceptable bug for an enterprise level product.
    I have been unable to find a patch on the Oracle support site for it. Is a patch avaliable?
    COMP_NAME
    VERSION
    OLAP Analytic Workspace
    11.2.0.4.0
    Oracle OLAP API
    11.2.0.4.0
    OLAP Catalog
    11.2.0.4.0

    I found what appears to be a related bug Bug 14627371 - ORA-01426: NUMERIC OVERFLOW DURING CUBE BUILD
    .  This bug is marked as fixed in 12.1 of the database. 
    I think that you may want to pursue this issue with support to see whether this can be back-ported ton 11.2.0.4.0.
    --Ken Chin

  • Overflow Map has received an inexplicable event from the front map

    Hello, I am posting this to ask if someone can shed additional light on this error. Is it due to incorrect usage of the SafeNamedCache or an internal error?
    2006-12-07 20:33:59.190 Tangosol Coherence 3.1/339 <Warning> (thread=RMI TCP Connection(3)-127.0.0.2, member=1): Overflow Map has received an inexplicable event from the front map; such an event should not have been possible to occur. The Overflow Map will arbitrarily interpret the event in order to maintain its own internal consistency. The likely origin of the event is direct modification of the front and/or back maps managed by the Overflow Map, a MapListener making re-entrant modifications to its source map, or an ObservableMap implementation that reacts to the Map API in a manner inconsistent with the specification (e.g. actively modifying its contents in a manner that differs from the sequence of API calls made against it). This Overflow Map instance will not repeat this warning, and will attempt to silently compensate for subsequent similar event irregularities.
    Event: MapEvent{ObservableHashMap added: key=CalypsoCache|22845412, value=Lease: CalypsoCache|22845412 (Cache=TangosolLock._locks, Size=Unknown, Version=0/0, IssuerId=0, HolderId=0, Status=LEASE_UNISSUED, Last locked at Wed Dec 31 16:00:00 PST 1969)}
    Stack trace follows:
    at com.tangosol.net.cache.OverflowMap.warnUnfathomable(OverflowMap.java:2947)
    at com.tangosol.net.cache.OverflowMap.putInternal(OverflowMap.java:1001)
    at com.tangosol.net.cache.OverflowMap.put(OverflowMap.java:360)
    at com.tangosol.coherence.component.util.CacheHandler.ensureLease(CacheHandler.CDB:15)
    at com.tangosol.coherence.component.util.daemon.queueProcessor.service.ReplicatedCache.lockResource(ReplicatedCache.CDB:29)
    at com.tangosol.coherence.component.util.CacheHandler.lock(CacheHandler.CDB:3)
    at com.tangosol.coherence.component.util.SafeNamedCache.lock(SafeNamedCache.CDB:1)
    at com.calypso.tk.lock.TangosolLock.acquire(TangosolLock.java:24)
    at com.calypso.tk.lock.DistributedReentrantLock.acquire(DistributedReentrantLock.java:50)
    at com.calypso.tk.util.cache.CalypsoCache.lock(CalypsoCache.java:1772)
    at com.calypso.tk.util.cache.CalypsoCache.getImpl(CalypsoCache.java:1325)
    at com.calypso.tk.util.cache.CalypsoCache.peekImpl(CalypsoCache.java:1320)
    at com.calypso.tk.util.cache.CalypsoCache.peek(CalypsoCache.java:244)
    at com.calypso.tk.util.cache.CalypsoCache.put(CalypsoCache.java:314)
    at com.calypso.tk.core.sql.BookSQL.putInCache(BookSQL.java:314)
    at com.calypso.tk.core.sql.BookSQL.loadAll(BookSQL.java:1494)
    at com.calypso.tk.core.sql.BookSQL.loadAll(BookSQL.java:1158)
    at com.calypso.tk.core.sql.BookSQL.load(BookSQL.java:1186)
    at com.calypso.tk.core.sql.BookSQL.getBook(BookSQL.java:545)
    at com.calypso.tk.core.sql.BookSQL.get(BookSQL.java:237)
    at com.calypso.tk.refdata.sql.UserDefaultsSQL$UserDefaultsLoader.buildObjectFromResultSet(UserDefaultsSQL.java:307)
    at com.calypso.tk.core.sql.SQLObjectPersistor.executeSQL(SQLObjectPersistor.java:399)

    It is quite strange, of course, to have confusion with which config is being used, which is why there is now a log message telling you which config was loaded. I think that the log message was introduced in version 3.1 or 3.2.
    The other thing that I do (at least when testing something) is specify the config on the command line, e.g.
    java -server -Xms128m -Xmx128m -Dtangosol.coherence.cacheconfig=C:\java\dev\test-cache-config.xml -cp coherence.jar;tangosol.jar;...
    BTW, I have downloaded 3.2.1 and will be using that for my tests. So presumably the warning/error will no longer occur? That is our expectation, since it would be a bug (unless you were doing one of the weird things mentioned in the message).
    Keep in mind that even with the message, the Overflow Map keeps going; it is just a warning (albeit a complicated sounding one) that indicates that some internal state (or event stream or lack thereof) is not what was expected as the result of one or more actions.
    I apologize for the inconvenience, and thank you for taking your time to clarify it. We do work hard to avoid this type of issue (or any related confusion), and we have continued to increase our unit and regression test coverage with each release, including with respect to this issue. With that in mind, please do not hesitate to contact us (on this forum if you would like) with suggestions and other feedback; we do want to be aware of the things that our customers are looking for and would like to see improved.
    Peace,
    Cameron Purdy
    Tangosol Coherence: The Java Data Grid

  • Standby database unable to fetch missing archive sequence from primary

    Hi,
    My primary oracle db version is 10.2.0.5 which is n Windows 2003 server 32 bit in file system
    My standby database version is 10.2.0.5 which in wondows 2008 server in ASM instance.
    some of the archivelogs are not fetching by standby database from primary db.because of that recovery is not happening and it waits for missing archive logs but its not transfering on satndby database.
    I tried many time by doing manuall..manuall its hapening but again sometimes its stucks and waits for next missing archivelog.
    standby alert log mesage
    Sun Jul 08 21:33:13 Pacific Daylight Time 2012
    FAL[client]: Failed to request gap sequence
    GAP - thread 1 sequence 128945-128945
    DBID 4176230406 branch 617106566
    FAL[client]: All defined FAL servers have been attempted.
    Check that the CONTROL_FILE_RECORD_KEEP_TIME initialization
    parameter is defined to a value that is sufficiently large
    enough to maintain adequate log switch information to resolve
    archivelog gaps.
    Sun Jul 08 21:44:03 Pacific Daylight Time 2012
    db_recovery_file_dest_size of 2048 MB is 0.00% used. This is a
    user-specified limit on the amount of space that will be used by this
    database for recovery-related files, and does not reflect the amount of
    space available in the underlying filesystem or ASM diskgroup.
    trace file of standby
    Dump file d:\oracle\admin\mks01p\bdump\mks01p_mrp0_6628.trc
    Sun Jul 08 21:30:23 2012
    ORACLE V10.2.0.5.0 - 64bit Production vsnsta=0
    vsnsql=14 vsnxtr=3
    Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
    With the Oracle Label Security, OLAP, Data Mining and Real Application Testing options
    Windows NT Version V6.1 Service Pack 1
    CPU : 8 - type 8664, 4 Physical Cores
    Process Affinity : 0x0000000000000000
    Memory (Avail/Total): Ph:37019M/49108M, Ph+PgF:87277M/103214M
    Instance name: mks01p
    Redo thread mounted by this instance: 1
    Oracle process number: 19
    Windows thread id: 6628, image: ORACLE.EXE (MRP0)
    *** SERVICE NAME:() 2012-07-08 21:30:23.422
    *** SESSION ID:(95.1) 2012-07-08 21:30:23.422
    *** 2012-07-08 21:30:23.422 64949 kcrr.c
    MRP0: Background Managed Standby Recovery process started
    *** 2012-07-08 21:30:28.445 1170 krsm.c
    Managed Recovery: Initialization posted.
    *** 2012-07-08 21:30:28.445 64949 kcrr.c
    Managed Standby Recovery not using Real Time Apply
    *** 2012-07-08 21:30:39.833
    Recovery target incarnation = 1, activation ID = -118713082
    Influx buffer limit = 10000 min(50% x 191963, 10000)
    Successfully allocated 7 recovery slaves
    Using 158 overflow buffers per recovery slave
    Start recovery at thread 1 ckpt scn 7982577982885 logseq 128945 block 2
    *** 2012-07-08 21:30:40.784
    Media Recovery add redo thread 1
    *** 2012-07-08 21:30:40.784 1170 krsm.c
    Managed Recovery: Active posted.
    ORA-00313: open failed for members of log group 1 of thread 1
    ORA-00312: online log 1 thread 1: '+ORAREDO3/mks01p/mks01p_redo01b.rdo'
    ORA-17503: ksfdopn:2 Failed to open file +ORAREDO3/mks01p/mks01p_redo01b.rdo
    ORA-15001: diskgroup "ORAREDO3" does not exist or is not mounted
    ORA-15001: diskgroup "ORAREDO3" does not exist or is not mounted
    ORA-00312: online log 1 thread 1: '+ORAREDO1/mks01p/mks01p_redo01a.rdo'
    ORA-17503: ksfdopn:2 Failed to open file +ORAREDO1/mks01p/mks01p_redo01a.rdo
    ORA-15001: diskgroup "ORAREDO1" does not exist or is not mounted
    ORA-15001: diskgroup "ORAREDO1" does not exist or is not mounted
    ORA-00313: open failed for members of log group 1 of thread 1
    ORA-00312: online log 1 thread 1: '+ORAREDO3/mks01p/mks01p_redo01b.rdo'
    ORA-17503: ksfdopn:2 Failed to open file +ORAREDO3/mks01p/mks01p_redo01b.rdo
    ORA-15001: diskgroup "ORAREDO3" does not exist or is not mounted
    ORA-15001: diskgroup "ORAREDO3" does not exist or is not mounted
    ORA-00312: online log 1 thread 1: '+ORAREDO1/mks01p/mks01p_redo01a.rdo'
    ORA-17503: ksfdopn:2 Failed to open file +ORAREDO1/mks01p/mks01p_redo01a.rdo
    ORA-15001: diskgroup "ORAREDO1" does not exist or is not mounted
    ORA-15001: diskgroup "ORAREDO1" does not exist or is not mounted
    *** 2012-07-08 21:30:40.940 64949 kcrr.c
    Clearing online redo logfile 1 +ORAREDO1/mks01p/mks01p_redo01a.rdo
    ORA-00313: open failed for members of log group 1 of thread 1
    ORA-00312: online log 1 thread 1: '+ORAREDO3/mks01p/mks01p_redo01b.rdo'
    ORA-17503: ksfdopn:2 Failed to open file +ORAREDO3/mks01p/mks01p_redo01b.rdo
    ORA-15001: diskgroup "ORAREDO3" does not exist or is not mounted
    ORA-15001: diskgroup "ORAREDO3" does not exist or is not mounted
    ORA-00312: online log 1 thread 1: '+ORAREDO1/mks01p/mks01p_redo01a.rdo'
    ORA-17503: ksfdopn:2 Failed to open file +ORAREDO1/mks01p/mks01p_redo01a.rdo
    ORA-15001: diskgroup "ORAREDO1" does not exist or is not mounted
    ORA-15001: diskgroup "ORAREDO1" does not exist or is not mounted
    ORA-00349: failure obtaining block size for '+ORAREDO1/mks01p/mks01p_redo01a.rdo'
    ORA-15001: diskgroup "ORAREDO1" does not exist or is not mounted
    Error 349 creating/clearing online redo logfile 1
    *** 2012-07-08 21:30:40.987 64949 kcrr.c
    Clearing online redo logfile 1 complete
    *** 2012-07-08 21:30:41.034 64949 kcrr.c
    Media Recovery Waiting for thread 1 sequence 128945
    *** 2012-07-08 21:30:41.050 64949 kcrr.c
    Fetching gap sequence in thread 1, gap sequence 128945-128945
    Redo shipping client performing standby login
    OCISessionBegin failed -1
    .. Detailed OCI error val is 1031 and errmsg is 'ORA-01031: insufficient privileges
    *** 2012-07-08 21:30:41.533 64949 kcrr.c
    Error 1031 received logging on to the standby
    *** 2012-07-08 21:30:41.533 64949 kcrr.c
    FAL[client, MRP0]: Error 1031 connecting to MKS01P_PRD for fetching gap sequence
    ORA-01031: insufficient privileges
    *** 2012-07-08 21:31:11.610
    Redo shipping client performing standby login
    OCISessionBegin failed -1
    .. Detailed OCI error val is 1031 and errmsg is 'ORA-01031: insufficient privileges
    *** 2012-07-08 21:31:12.094 64949 kcrr.c
    Error 1031 received logging on to the standby
    *** 2012-07-08 21:31:12.094 64949 kcrr.c
    FAL[client, MRP0]: Error 1031 connecting to MKS01P_PRD for fetching gap sequence
    ORA-01031: insufficient privileges
    *** 2012-07-08 21:31:42.186
    Redo shipping client performing standby login
    OCISessionBegin failed -1
    .. Detailed OCI error val is 1031 and errmsg is 'ORA-01031: insufficient privileges
    *** 2012-07-08 21:31:42.654 64949 kcrr.c
    Error 1031 received logging on to the standby
    *** 2012-07-08 21:31:42.670 64949 kcrr.c
    FAL[client, MRP0]: Error 1031 connecting to MKS01P_PRD for fetching gap sequence
    ORA-01031: insufficient privileges
    *** 2012-07-08 21:32:12.747
    Redo shipping client performing standby login
    OCISessionBegin failed -1
    .. Detailed OCI error val is 1031 and errmsg is 'ORA-01031: insufficient privileges
    *** 2012-07-08 21:32:13.215 64949 kcrr.c
    Error 1031 received logging on to the standby
    *** 2012-07-08 21:32:13.230 64949 kcrr.c
    FAL[client, MRP0]: Error 1031 connecting to MKS01P_PRD for fetching gap sequence
    ORA-01031: insufficient privileges
    *** 2012-07-08 21:32:43.276
    Redo shipping client performing standby login
    OCISessionBegin failed -1
    .. Detailed OCI error val is 1031 and errmsg is 'ORA-01031: insufficient privileges
    *** 2012-07-08 21:32:43.759 64949 kcrr.c
    Error 1031 received logging on to the standby
    *** 2012-07-08 21:32:43.775 64949 kcrr.c
    FAL[client, MRP0]: Error 1031 connecting to MKS01P_PRD for fetching gap sequence
    ORA-01031: insufficient privileges
    *** 2012-07-08 21:33:13.821
    Check that the CONTROL_FILE_RECORD_KEEP_TIME initialization
    parameter is defined to a value that is sufficiently large
    enough to maintain adequate log switch information to resolve
    archivelog gaps.
    i created new password fle on bith primary and standby database also.
    Please help me to resolve this issue.

    ORA-15001: diskgroup "ORAREDO3" does not exist or is not mounted
    ORA-15001: diskgroup "ORAREDO3" does not exist or is not mountedhave you mentioned parameter LOG_FILE_NAME_CONVERT in standby when online redo log locations are different?
    post from standby:-
    SQL> select name, state From v$asm_diskgroup;
    FAL[client, MRP0]: Error 1031 connecting to MKS01P_PRD for fetching gap sequence
    ORA-01031: insufficient privilegesPost from primary & standby
    SQL> select * from v$pwfile_users;
    User Profile for 919131
    919131     
    Handle:     919131  
    Status Level:     Newbie
    Registered:     Mar 6, 2012
    Total Posts:     16
    Total Questions:     8 (8 unresolved)
    OTN failed 100% to help you, then why you posted another question?
    First close all your old answered threads and then better continue your updates in your thread.
    Edited by: CKPT on Jul 9, 2012 11:45 AM

  • Attributes in Oracle Lockbox

    Hi All,
    I need to capture some additional infomation relating to receipts applications( overflow records ) in Oracle Lockbox.
    Please let me know if it is possible to capture these infomation through attributes in the ar_payments_interface_all.
    Because I saw an article, which says only the attributes can be used for Payments records, but not for the overflow records.
    Thanks,

    Thanks Satish,
    I had already found that list but was surprised that there are so much fewer attributes than under 10g. Perhaps there is a difference between the USERENV function and the USERENV namespace?
    In the Database 10g Security Guide [http://download.oracle.com/docs/cd/B19306_01/network.102/b14266/apdvpoli.htm#i1006199] there are around 45 attributes in the USERENV namespace. Have most of them been deprecated or is the list maintained elsewhere?
    Thanks again,
    Leo

  • Binding to an Entire Sequence, How?

    I would like to know if ANY member of a sequence updates.
    For example:
    public class Subject {
        var students: Student[];
    }Then I wanted to do an "all student" calculation, this if any are added or removed work do the calculation again).
    public class AverageStudentScore {
        var subject: Subject;
        var student: bind getAverageStudentScore(subject.students);
        function getAverageStudentScore(s: Students[]):Number {
            .....do calculation here and return.
    }The examples I have found online only show a sequence bound to a sequence and a var bound to an individual (known)

    Hey dgreive.
    Actually, my problem is a little more complex than I had anticipated. I will change the example so that it's a little easier to explain...
    Each 'Person' exists in a sequence of 'people' and has a bound on replace listener hoping to discover friends amounst the 'people' as they are inserted.
    public class SocialScene {
        public var people: Person[];
        init {
            insert Person{name:"Fred", socialScene: this, friends: ["Jane","Pete"]} into people
            insert Person{name:"Jane", socialScene: this, friends: ["Fred"]} into people       
            insert Person{name:"Pete", socialScene: this, friends: ["Fred"]} into people               
    public class Person {
        public var name: String;
        public var friends: String[];
        public var socialScene: SocialScene;
        var people: Person[] = bind socialScene.people on replace {
            //do whatever you do with friends as they appear
    }The real problem is that as a person is a bound listener on the people sequence. When the binding is fired (initially by a new person insert) for some reason the 'replace' bind firing then causes another 'replace' bind firing on sequence, and another bind on replace is fired. This results in more or less and infinite loop and I get a lovely stack overflow. Can a member of a sequence be a bound listener on the sequence it exists within? I guess I don't understand the rules here.

  • Still Images & Need to 'Scale to Sequence'-Vertical vs. Horizontal Picture

    I make sequences from still images only. I need to start editing with all images at a Scale (in the Basic Motion section) of 100. When the original image is 720 width x 540 height (a picture taken horizontally), it appears in the timeline at a Basic Motion:Scale of 100 (this is what I want). However, when the original image is 405 width x 540 height (a picture taken vertically), it appears in the timeline at a Basic Motion:Scale of 112.5 and overflows the top and bottom of screen.
    For these vertical images, I can then set the Scale manually, or use "Scale to Sequence" and get it to start at 100, but would like to avoid that extra step. Any ideas on how to have all imported images start at a Basic Motion:Scale of 100, whether taken vertically or horizontally?
    Thanks, in advance, for giving this problem any thoughts.

    I think that your best bet would be to
    1) make the images all the same size - adding black to the edges if necessary. You could add an alpha channel on the ones that you had to add black to the edges.
    or
    2) copy the motion settings from a still that is scaled correctly.
    or
    3) grin and bear it.
    I created a file earlier this morning that FCP didn't scale, but now I can't duplicate it. All the files are getting scaled. According to the manual, FCP isn't supposed to scale past 100%, but they might have changed that with a revised version.
    Good luck!
    Leigh

  • Oracle Sequence not incrementing Properly

    I created a sequence in Oracle with increment by one.
    But after 700 it is jumping to 736,766...................
    I dont know why this is jumping like this.
    plz tell me why it is happening like this.

    Have you ever asked questions on Oracle forums? My
    threads seem to follow a consistent route:
    Well I don't want to question the veracity of your experiences surely there is a better forum for Oracle questions than this one? I mean even the JDBC forum would have been a better fit.
    >
    As to the original post; sounds like an overflow,
    doesn't it? Really going to -1 but interpretted as
    unsigned. How are you using the sequence, and how is
    it defined?That's a strange number to be doing that at 700 if you ask me though I suppose it's possible.
    My wild guess was going to be that the sequences in question were previously used and so were skipped. I don't really feel either way that the OP provided enough information about the problem they are experiencing or even indeed why it is a problem at all.

  • Stack overflow occurred in ClassNameUtils$/getLoggerFriendlyClassName  when running unittest in FB

    Recently whenever I run my unit tests in Flash Builder, I get following error
    Error: Error #1023: Stack overflow occurred.
    at org.flexunit.utils::ClassNameUtil$/getLoggerFriendlyClassName(ClassNameUtil.as:44)
    at org.flexunit.runners::ParentRunner/run(ParentRunner.as:408)
    at org.flexunit.runners::Suite/runChild(Suite.as:93)
    at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep(ChildRunnerSequencer.as: 82)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:134)
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate(StatementSequencer .as:108)
    at org.flexunit.internals.runners.statements::StatementSequencer/executeStep(StatementSequen cer.as:97)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:134)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete(AsyncStatement Base.as:76)
    at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete(StatementSeque ncer.as:165)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:138)
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate(StatementSequencer .as:108)
    at org.flexunit.internals.runners.statements::StatementSequencer/executeStep(StatementSequen cer.as:97)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:134)
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate(StatementSequencer .as:108)
    at org.flexunit.runners::ParentRunner/run(ParentRunner.as:416)
    at org.flexunit.runners::Suite/runChild(Suite.as:93)
    at org.flexunit.internals.runners::ChildRunnerSequencer/executeStep(ChildRunnerSequencer.as: 82)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:134)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.runners::ParentRunner/handleRunnerComplete(ParentRunner.as:452)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete(AsyncStatement Base.as:76)
    at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete(StatementSeque ncer.as:165)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:138)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete(AsyncStatement Base.as:76)
    at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete(StatementSeque ncer.as:165)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:138)
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate(StatementSequencer .as:108)
    at org.flexunit.internals.runners.statements::StatementSequencer/executeStep(StatementSequen cer.as:97)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:134)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete(AsyncStatement Base.as:76)
    at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete(StatementSeque ncer.as:165)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:138)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.runners::ParentRunner/handleRunnerComplete(ParentRunner.as:452)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete(AsyncStatement Base.as:76)
    at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete(StatementSeque ncer.as:165)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:138)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete(AsyncStatement Base.as:76)
    at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete(StatementSeque ncer.as:165)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:138)
    at org.flexunit.internals.runners.statements::StatementSequencer/evaluate(StatementSequencer .as:108)
    at org.flexunit.internals.runners.statements::StatementSequencer/executeStep(StatementSequen cer.as:97)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:134)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete(AsyncStatement Base.as:76)
    at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete(StatementSeque ncer.as:165)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:138)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.runners::ParentRunner/handleRunnerComplete(ParentRunner.as:452)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete(AsyncStatement Base.as:76)
    at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete(StatementSeque ncer.as:165)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:138)
    at org.flexunit.token::AsyncTestToken/sendResult(AsyncTestToken.as:118)
    at org.flexunit.internals.runners.statements::AsyncStatementBase/sendComplete(AsyncStatement Base.as:76)
    at org.flexunit.internals.runners.statements::StatementSequencer/sendComplete(StatementSeque ncer.as:165)
    at org.flexunit.internals.runners.statements::StatementSequencer/handleChildExecuteComplete( StatementSequencer.as:138)
    It might have something to do with the sequence of the test running, because I changed order of some tests and it went away. But this does happen from time to time. Anyone have any idea why?

    are  you running the version of flexunit  that came with builder or is it one of the newer release candidates

Maybe you are looking for