Thursday, October 19, 2017

Run Time Errors and solution in VBA

Run-time Error '3': Return without GoSub
when GoSub and Return are matched. Unlike For/Next, While/Wend, and Function...End Function, which are matched at compile time.

Run-time Error '5': Invalid procedure call or argument
when a procedure call with exceeded range of arguments or procedure that isn't valid on the current platform

Run-time Error '6': Overflow
If variable exceeds the limit then it considers as overflow. i.e integer value more than 32767. Occurs in assignment, calculation, data type conversion.

Run-time Error '7': Out of memory
Close any unnecessary applications, documents, or source files that are open.
Break large modules or procedures into smaller ones. This doesn't save memory, but it can prevent hitting 64K segment boundaries.
Increase virtual memory by freeing some disk space
Reduce the number of Public variables.

Run-time Error '9': Subscript out of range
nonexistent array element. larger or smaller subscript of arrays or collections

Run-time Error '10': This array is fixed or temporarily locked
when array is redim, sometime it happens. Note that not all arrays can be redimensioned.

Run-time Error '11': Division by zero
when a variable with division zero which is not possible

Run-time Error '13': Type mismatch
datatype should be matched. If not use conversion functions like Cbool, cint, cstr. use Variant type for flexible datatype

Run-time Error '14': Out of string space
Run-time Error '16': Expression too complex
Run-time Error '17': Can't perform requested operation
Run-time Error '18': User interrupt occurred
Run-time Error '20': Resume without error
Run-time Error '28': Out of stack space
Run-time Error '35': Sub, Function, or Property not defined
Run-time Error '47': Too many DLL application clients
Run-time Error '48': Error in loading DLL
Run-time Error '49': Bad DLL calling convention
Run-time Error '51': Internal error
Run-time Error '52': Bad file name or number
Run-time Error '53': Can't find specified file
Run-time Error '54': Bad file mode
Run-time Error '55': File already open
Run-time Error '57': Device I\O error
Run-time Error '58': File already exists
Run-time Error '59': Bad record length
Run-time Error '61': Disk full
Run-time Error '62': Input past end of file
Run-time Error '63': Bad record number
Run-time Error '67': Too many files
Run-time Error '68': Device unavailable
Run-time Error '70': Permission denied
Run-time Error '71': Disk not ready
Run-time Error '74': Can't rename with different drive
Run-time Error '75': Path\File access error
Run-time Error '76': Path not found
Run-time Error '91': Object variable or With block variable not set
Run-time Error '92': For loop not initialized
Run-time Error '93': Invalid pattern string
Run-time Error '94': Invalid use of Null
Run-time Error '96': Can't sink this object's events because it's already firing events to the maximum number of supported event recipients
Run-time Error '97': Can't call Friend procedure on an object that isn't an instance of the defining class
Run-time Error '98': A property or method call cannot include a reference to a private object, either as an argument or as a return value
Run-time Error '321': Invalid file format
Run-time Error '322': Can't create necessary temporary file
Run-time Error '400': Form already displayed; can't show modally
Run-time Error '422': Property not found
Run-time error '424': Object Required Error
Run-time Error '429': ActiveX component can't create object or return reference to this...
Run-time Error '430': Class doesn't support Automation or does not support expected interface
Run-time Error '432': File name or class name not found during Automation operation
Run-time Error '438': Object doesn't support this property or method
Run-time Error '440': Automation error
Run-time Error '442': Connection to type library or object library for remote process h...
Run-time Error '443': Automation object doesn't have a default value
Run-time Error '445': Object doesn't support this action
Run-time Error '446': Object doesn't support named arguments
Run-time Error '447': Object doesn't support current locale setting
Run-time Error '448': Named argument not found
Run-time Error '449': Argument not optional
Run-time Error '450': Wrong number of arguments or invalid property assignment
Run-time Error '451': Property let procedure not defined and property get procedure did not return an object
Run-time Error '452': Invalid ordinal
Run-time Error '453': Specified DLL function not found
Run-time Error '454': Code resource not found
Run-time Error '455': Code resource lock error
Run-time Error '457': This key is already associated with an element of this collection
Run-time Error '458': Variable uses a type not supported in Visual Basic
Run-time Error '459': This component doesn't support events
Run-time Error '735': Can't save file to TEMP directory
Run-time Error '744': Search text not found
Run-time Error '746': Replacements too long
Run-time Error '31001': Out of memory

Thursday, September 7, 2017

Decoding bai file type

This post is all about decoding bai file type. so that any application can be developed convert bai file type to csv or any. csv file is nothing but comma separated values, a simple file format used to store tabular data like spreadsheets. Prior to that, what is bai file type? bai is a file type (.bai extension) used to balance report in banking industry. Technically .bai is just a text file with respective delimiters called codes. Though comma is the column separator, the .bai files are typically formatted in such a way to represent other information using the prefix numeric code with every newline.

The first two digits of each line is the standard code for each line type to tell the system what type of line it is.
------------------------------------------------
01,,,,,,,,
02,,,,1230530,,,
03,80457080,,,,,,
16,475,3000,,1230530,,,456,
88,,
16,475,30000,,1230530,,,789,
98,,,
99,20000,,2
------------------------------------------------
Interpretation
01 File Header Begins File
02 Group Header Begins Group
03 Account Identifier Begins Account
16 Transaction Detail (Optional) Within Account
88 continuation of details
49 Account Trailer Ends Account
98 Group Trailer Ends Group
99 File Trailer Ends File

01
File Header
The file header marks the beginning of a file. It identifies the sender and receiver of the transmission, and it describes the structure of the file.
02
Group Header
The group header identifies a group of accounts that are from the same originator and includes the same as-of-date and as-of-time.
03
Account Identifier and Summary/Status
This record identifies the account number and reports activity summary and account status information. Summary information may be accompanied by an item count and funds availability distribution.
16
Transaction Detail
This record is used for transmission of detail transaction information. Transaction detail may include two reference numbers and a free-form alphanumeric text.
88
Continuation
A Continuation record is used when data exceed the maximum physical record length, or whenever it is desirable to continue data into an additional record. It may follow any record type, including another “continuation” (88) record.
49
Account Trailer
The Account Trailer record provides account control
totals
98
Group Trailer
This record provides group control totals.
99
File Trailer
This record provides file control totals.


File Header
It contains sender, receiver alphanumeric identifiers, File created date in YYMMDD format, File created time, file identification id, number of characters, block size, version number.
Group Header
It contains receiver identifier, originator identifier, status, date, time, currency code.
Account Header
It contains customer account number, currency code, type code, amount, item count, fund type
Transaction Header
It contains Transaction type code, Amount, fund type, bank reference number, customer reference number, Text. Among transaction type code 010 to 099 are reporting purpose. 100 to 399 type codes indicate Credit transaction. 400 to 760 indicate debit transaction.

A bai file should starts with 01 & ends with 99 code. It can have multiple groups starts with 02 & ends with 98 codes. Account details should be inside the group header. 16 indicates all type of Transaction details when the information is large than the continuations will be present with 88 code in next line.


Friday, May 12, 2017

Automation Testing with CodedUI

Manual Testing is the process of testing a software manually. when there is requirement for GUI testing then one of the best solution is CodedUI. since it is Microsoft stack and integrated in visual studio. Visual Studio 2010 Ultimate/ Premium has codeUI option where user can test the performance of graphical user interface. CodedUI tests provide functional testing as well  regression testing.

Below are the minimum requirement for CodeUI
Microsoft Visual Studio 2010  or above
Microsoft Test Manager 2010 or above

Microsoft Test Agent 2010 or above

To Open Test

  • To start a new test project, go to File -> New -> Project.    In the New Project window, select the Test Project template from Visual C# ->Test and select the OK button to create it.
  • To create a new test, Right click on Project solution and then Add -> Coded Test
  • To record steps ,select  Record actions, edit UI MAP or add assertions and click OK to start the recording process
  • To record steps , select “Record actions, edit UI map or add assertions” and click OK to start the recording process
  • Now Coded UI Test Builder is displayed to start recording . click record button in Coded UI Test Builder
  • Do the manual process like opening a webpage/application, click different controls. finally click Stop button to stop the recording
  • Click the Generate Code button in the Coded UI Test Builder to generate a test method and give custom name and click "add and generate". Now code is recorded. Let's now create an assertion that will check the value of Name. 
  • To create an assertion, press the third button in the Coded UI Test Builder and To identify a new control, drag the crosshair onto the control or hover mouse over the control. After releasing the mouse button, an Add Assertions window is displayed allowing you to add assertions. Assertion added for the Name for inner text properties. 
  • Click the Generate Code button in the Coded UI Test Builder to generate an assertion method. 
  • Source file for CodedUI
  •  If we need to run the test for multiple inputs then need to add parameter values form data source. 
  1.  Add an xml file in codedUI test
  2.  Open properties window to add data connection string.Test ->TestView  right click on codedUi test method and open propeties. select Xml file.
  • Once all tests and assertions are created, you can run tests. open the Test View window by selecting Test -> Windows > Test View  from the main menu of Visual Studio. Now right-click in the test method, and then click Run Tests or Debug Tests
File
Description
CodedUITest1.cs
Contains the coded UI test class, test methods and assertions. We can modify it.
UIMap.uitest
Contains the XML model for the UIMap class, including all windows, controls, properties, methods, parameters, actions, and assertions. This file is not directly editable. But the Coded UI Test Builder helps to modify the existing test which will automatically modify the UIMap.uitest and UIMap.Designer.cs file.
UIMap.Designer.cs
Contains the code representation of the XML contained in the UIMap.uitest file. Do not edit this file.
UIMap.cs
Contains more of the code for the UIMap class. You can put any customizations for the UI map in this file.


Reference(s)
https://msdn.microsoft.com/en-us/library/dd286681(v=vs.100).aspx