Performing Free Form Searches with MDM Java API

Performing Free Form Searches via MDM Java API

SAP NetWeaver MDM comes along with a powerful Java API which covers almost any functionality offered through the client applications. Using a few examples, this blog explains how to perform free form searches via the Java API.

The examples are based on a very simple MDM Repository. The structure and contents are available at the end of the Blog.

The Java source is also available (exclusively for SDN users ;-)  ) as a SAP NetWeaver Developer Studio project here.

Free Form Search in MDM Data Manager

The examples simulate a free form search on the Products table. So let's briefly have a look on how this is done using the MDM Data Manager.

Besides the direct selection of values for searching, you can use the Expression field in the Free-Form Search pane.

Free Form Search in MDM Data Manager

A doubleclick on the highlighted area will bring up the Search Expression dialog. Here you can either directly type in the search expression or use the shortcut buttons to create an expression.

Search Expression

I included the equivalent search expression for each example in the source code.

Getting Started: Using one single field

This first example will emulate the search expression

FIND(Name,"Contractor")



on table Products.

The MDM Java API exposes the free form search capabilities via several types of free form search parameters. Each of them is implemented as a separate class and derived from the super class SearchParameter.


Search parameters are added to an instance of a Search object and they will be taken into consideration for the search as soon as it is executed.


So the first thing for us to do is to create a new Search object.




Search search = new Search("Products");





This search object contains a collection of several instances of search parameter classes. This collection is initially empty. We will now add a new search parameter class to this collection.




FreeFormTableParameter fftpNames =
search.GetParameters().NewFreeFormTableParameter("Products");




As you see we are using the class FreeFormTableParameter since we want to restrict our free form search based on fields of a given table (Products). To create a new instance of this search parameter, we use the method NewFreeFormTableParameter() of the SearchParameters collection. This method requires the table name from which we will later on use the fields and will also add this new parameter to the collection.

FreeFormParameterField ffpfName = fftpNames.GetFields().New("Name");



This line of code adds a new FreeFormParameterField based on the field Name of the Products table to the search parameter. This is the field we are using in our expression above.

ffpfName.GetFreeForm().NewString("Contractor", FreeFormParameter.SubstringSearchType);



Here we use the FreeFormParameterField to add the restriction for the value Contractor. We use NewString() because this is a string value and we specify a substring search.


As with any other search

A2iResultSet result = catalog.GetResultSet(search, rsd, "Name", true, 0);



will execute the search and return the result.


The complete source code is available at the end of the blog.

Single Field, More Values

The next thing is to search for multiple values, but still using one single field. Let's take the expression

FIND(Name, "Contractor") AND FIND(Name, "Blade") AND FIND(Name,
"Standard")

on table Products.


The code is exactly the same as above until the instanciation of the FreeFormParameterField:

FreeFormParameterField ffpfName = fftpNames.GetFields().New("Name",
FreeFormParameterField.SEARCH_OPERATOR_AND);



This line of code will combine the search with logical AND.


After that we can simply add each of the values, one after the other.

ffpfName.GetFreeForm().NewString("Contractor",
FreeFormParameter.SubstringSearchType);


ffpfName.GetFreeForm().NewString("Blade",
FreeFormParameter.SubstringSearchType);


ffpfName.GetFreeForm().NewString("Standard",
FreeFormParameter.SubstringSearchType);



Most probably you already guessed, that for the expression

FIND(Name, "Contractor") OR FIND(Name, "Blade") OR FIND(Name,
"Standard")

on table Products, we have to use the coding

FreeFormParameterField ffpfName = fftpNames.GetFields().New("Name",
FreeFormParameterField.SEARCH_OPERATOR_OR);


AND and OR together

The previous example covered expressions using either only OR combinations or AND combinations of the values. Now we want to go for

(FIND(Name, "Contractor") OR FIND(Name, "Blade")) AND FIND(Name,
"Standard")

on table Products.


A litte bit more complicated but still straight forward:


Start with the first sub-expression (the OR combination in brackets):

FreeFormParameterField ffpfName1 = fftpNames.GetFields().New("Name",
FreeFormParameterField.SEARCH_OPERATOR_OR);


ffpfName1.GetFreeForm().NewString("Contractor", FreeFormParameter.SubstringSearchType);


ffpfName1.GetFreeForm().NewString("Blade", FreeFormParameter.SubstringSearchType);



After that add a new FreeFormParameterField.

FreeFormParameterField ffpfName2 = fftpNames.GetFields().New("Name");


ffpfName2.GetFreeForm().NewString("Standard", FreeFormParameter.SubstringSearchType);



Several FreeFormParameterField instances will be AND combined automatically.

Two fields

The expression

FIND(Manufacturer, "Estwing") AND FIND(Name, "Polyurethane") 

on table Products uses two fields. But based on what you have already seen, the implementation is easy.


One FreeFormParameterField for the first field:

FreeFormParameterField ffpfManu = fftpProducts.GetFields().New("Manufacturer");


ffpfManu.GetFreeForm().NewString("Estwing", FreeFormParameter.SubstringSearchType);



And one FreeFormParameterField for the second field:

FreeFormParameterField ffpfName = fftpProducts.GetFields().New("Name");


ffpfName.GetFreeForm().NewString("Polyurethane", FreeFormParameter.SubstringSearchType);



Again, the search parameters are AND combined by default.

OR Combination of Search Parameters

In order to override the default AND operator between fields, which is necessary for the expression

FIND(Manufacturer, "Estwing") OR FIND(Name, "Polyurethane")

on table Products, we need to change the default behaviour of the Search object we are using.

search.SetSearchType(Search.GlobalOrSearchCombinationType);



This will have the effect, that all FreeFormParameterField will be OR combined instead of AND.


The rest of the code is exactly the same as above.

Complete Java Source Code


------------------------------------------------------------------



import a2i.core.*;

import a2i.common.*;


import a2i.search.*;


/**


* Examples for free form searches via the MDM Java API.


* * <br>To run these examples, create the following


Classpath Variable in your Developer Studio to link to your local MDM


API JAR:</p>


*Go to <em>Window -> Preferences -> Java


-> Classpath Variables</em> and create this


variable:<br>


*<em>SAP_MDM_MDM4J</em> - Path to the


folder containing MDM4J.jar<br>


*<br>


*Of course you need also an up-and-running MDM Server with a loaded


Repository.<br>


*The connection details are directly maintained in the source


code.<br>


*


*<br><br>


* *This code is copyrighted by SAP AG, Dietmar-Hopp-Allee 16, 69190


Walldorf, Germany.<br><br>


*It has been written to serve educational purposes only. You may reuse,


modify and


*redistribute it as long as the following rules are obeyed:


<br><br>


*<strong>


*SAP AG assumes no responsibility for errors or omissions in this


sample code.<br>


*It is provided "as is" without a warranty of any kind, either express


or implied,


*including, but not limited to, the implied warranties of


merchantability, fitness for a particular purpose,


*or non-infringement.<br>


*SAP AG shall not be liable for damages of any kind including without


limitation direct, special,


*indirect, or consequential damages that may result from the use of


this code.<br>


*SAP AG does not warrant the accuracy or completeness of information,


text, graphics, links or


*other items contained within these materials. SAP AG reserves the


right to modify, replace or


*supplement this documentation and coding without notice.


*</strong>


*


* @author Andreas Seifried (D035740), Copyright SAP AG, 200


*/


public class FreeFormSearchExamples {


CatalogData catalog;


public void login() {


catalog = new CatalogData();


catalog.Login("localhost", 2010, "Admin", "", "English [US]");


}


public void logout() {


try {


catalog.Logout();


} catch (StringException e) {


System.out.println("Logout Failed!");


e.printStackTrace();


}


}


/**


* Search on one single field for one single value


*/


public void searchSingleFieldSimple() {


//FIND(Name, "Contractor") on table Products


// case sensitive substring search in the field "Name"


System.out.println();


System.out.println("Performing searchSingleFieldSimple()");


System.out.println("FIND(Name, \"Contractor\") on table Products");


System.out.println("Expected Hits: 18");


System.out.println("=========================");


ResultSetDefinition rsd = new ResultSetDefinition("Products");


rsd.AddField("Name");


Search search = new Search("Products");


FreeFormTableParameter fftpNames =


search.GetParameters().NewFreeFormTableParameter("Products");


FreeFormParameterField ffpfName = fftpNames.GetFields().New("Name");


ffpfName.GetFreeForm().NewString("Contractor",


FreeFormParameter.SubstringSearchType);


A2iResultSet result;


try {


result = catalog.GetResultSet(search, rsd, "Name", true, 0);


System.out.println("Found " + result.GetRecordCount() + " records.");


// for(int n=0; n<result.GetRecordCount(); n++) {


// System.out.println(result.GetValueAt(n, "Name").GetStringValue());


// }


} catch (StringException e) {


System.out.println("Search Failed!");


e.printStackTrace();


}


}


/**


* Search on one single field for 3 values, AND combination


*/ public void searchSingleFieldAnd() {


//FIND(Name, "Contractor") AND FIND(Name, "Blade") AND FIND(Name,


"Standard") on table Products


System.out.println();


System.out.println("Performing searchSingleFieldAnd()");


System.out.println("FIND(Name, \"Contractor\") AND FIND(Name,


\"Blade\") AND FIND(Name, \"Standard\") on table Products");


System.out.println("Expected Hits: 5");


System.out.println("=========================");


ResultSetDefinition rsd = new ResultSetDefinition("Products");


rsd.AddField("Name");


Search search = new Search("Products");


FreeFormTableParameter fftpNames =


search.GetParameters().NewFreeFormTableParameter("Products");


FreeFormParameterField ffpfName = fftpNames.GetFields().New("Name",


FreeFormParameterField.SEARCH_OPERATOR_AND);


ffpfName.GetFreeForm().NewString("Contractor",


FreeFormParameter.SubstringSearchType);


ffpfName.GetFreeForm().NewString("Blade",


FreeFormParameter.SubstringSearchType);


ffpfName.GetFreeForm().NewString("Standard",


FreeFormParameter.SubstringSearchType);


A2iResultSet result;


try {


result = catalog.GetResultSet(search, rsd, "Name", true, 0);


System.out.println("Found " + result.GetRecordCount() + " records.");


// for(int n=0; n<result.GetRecordCount(); n++) {


// System.out.println(result.GetValueAt(n, "Name").GetStringValue());


// }


} catch (StringException e) {


System.out.println("Search Failed!");


e.printStackTrace();


}


}


/**


* Search on one single field for 3 values, OR combination


*/ public void searchSingleFieldOr() {


//FIND(Name, "Contractor") OR FIND(Name, "Blade") OR FIND(Name,


"Standard") on table Products


System.out.println();


System.out.println("Performing searchSingleFieldOr()");


System.out.println("FIND(Name, \"Contractor\") OR FIND(Name, \"Blade\")


OR FIND(Name, \"Standard\") on table Products");


System.out.println("Expected Hits: 48");


System.out.println("=========================");


ResultSetDefinition rsd = new ResultSetDefinition("Products");


rsd.AddField("Name");


Search search = new Search("Products");


FreeFormTableParameter fftpNames =


search.GetParameters().NewFreeFormTableParameter("Products");


FreeFormParameterField ffpfName = fftpNames.GetFields().New("Name",


FreeFormParameterField.SEARCH_OPERATOR_OR);


ffpfName.GetFreeForm().NewString("Contractor",


FreeFormParameter.SubstringSearchType);


ffpfName.GetFreeForm().NewString("Blade",


FreeFormParameter.SubstringSearchType);


ffpfName.GetFreeForm().NewString("Standard",


FreeFormParameter.SubstringSearchType);


A2iResultSet result;


try {


result = catalog.GetResultSet(search, rsd, "Name", true, 0);


System.out.println("Found " + result.GetRecordCount() + " records.");


// for(int n=0; n<result.GetRecordCount(); n++) {


// System.out.println(result.GetValueAt(n, "Name").GetStringValue());


// }


} catch (StringException e) {


System.out.println("Search Failed!");


e.printStackTrace();


}


}


/**


* Search on one single field for 3 values, nested OR / AND combination


*/ public void searchSingleFieldOrAnd() {


//(FIND(Name, "Contractor") OR FIND(Name, "Blade")) AND FIND(Name,


"Standard") on table Products


System.out.println();


System.out.println("Performing searchSingleFieldOrAnd()");


System.out.println("(FIND(Name, \"Contractor\") OR FIND(Name,


\"Blade\")) AND FIND(Name, \"Standard\") on table Products");


System.out.println("Expected Hits: 11");


System.out.println("=========================");


ResultSetDefinition rsd = new ResultSetDefinition("Products");


rsd.AddField("Name");


Search search = new Search("Products");


FreeFormTableParameter fftpNames =


search.GetParameters().NewFreeFormTableParameter("Products");


FreeFormParameterField ffpfName1 = fftpNames.GetFields().New("Name",


FreeFormParameterField.SEARCH_OPERATOR_OR);


ffpfName1.GetFreeForm().NewString("Contractor",


FreeFormParameter.SubstringSearchType);


ffpfName1.GetFreeForm().NewString("Blade",


FreeFormParameter.SubstringSearchType);


FreeFormParameterField ffpfName2 = fftpNames.GetFields().New("Name");


ffpfName2.GetFreeForm().NewString("Standard",


FreeFormParameter.SubstringSearchType);


A2iResultSet result;


try {


result = catalog.GetResultSet(search, rsd, "Name", true, 0);


System.out.println("Found " + result.GetRecordCount() + " records.");


// for(int n=0; n<result.GetRecordCount(); n++) {


// System.out.println(result.GetValueAt(n, "Name").GetStringValue());


// }


} catch (StringException e) {


System.out.println("Search Failed!");


e.printStackTrace();


}


}


/**


* Search on two fields for single values, AND combination


*/ public void searchTwoFieldsAnd() {


//FIND(Manufacturer, "Estwing") AND FIND(Name, "Polyurethane") on table


Products


System.out.println();


System.out.println("Performing searchTwoFieldsAnd()");


System.out.println("FIND(Manufacturer, \"Estwing\") AND FIND(Name,


\"Polyurethane\") on table Products");


System.out.println("Expected Hits: 3");


System.out.println("=========================");


ResultSetDefinition rsd = new ResultSetDefinition("Products");


rsd.AddField("Name");


rsd.AddField("Manufacturer");


Search search = new Search("Products");


FreeFormTableParameter fftpProducts =


search.GetParameters().NewFreeFormTableParameter("Products");


FreeFormParameterField ffpfManu =


fftpProducts.GetFields().New("Manufacturer");


ffpfManu.GetFreeForm().NewString("Estwing",


FreeFormParameter.SubstringSearchType);


FreeFormParameterField ffpfName = fftpProducts.GetFields().New("Name");


ffpfName.GetFreeForm().NewString("Polyurethane",


FreeFormParameter.SubstringSearchType);


A2iResultSet result;


try {


result = catalog.GetResultSet(search, rsd, "Name", true, 0);


System.out.println("Found " + result.GetRecordCount() + " records.");


// for(int n=0; n<result.GetRecordCount(); n++) {


// System.out.println(result.GetValueAt(n, "Name").GetStringValue() +


"\t\t" + result.GetValueAt(n, "Manufacturer").GetStringValue());


// }


} catch (StringException e) {


System.out.println("Search Failed!");


e.printStackTrace();


}


}


/**


* Search on two fields for single values, OR combination


*/ public void searchTwoFieldsOr() {


//FIND(Manufacturer, "Estwing") OR FIND(Name, "Polyurethane") on table


Products


System.out.println();


System.out.println("Performing searchTwoFieldsOr()");


System.out.println("FIND(Manufacturer, \"Estwing\") OR FIND(Name,


\"Polyurethane\") on table Products");


System.out.println("Expected Hits: 67");


System.out.println("=========================");


ResultSetDefinition rsd = new ResultSetDefinition("Products");


rsd.AddField("Name");


rsd.AddField("Manufacturer");


Search search = new Search("Products");


search.SetSearchType(Search.GlobalOrSearchCombinationType);


FreeFormTableParameter fftpProducts =


search.GetParameters().NewFreeFormTableParameter("Products");


FreeFormParameterField ffpfManu =


fftpProducts.GetFields().New("Manufacturer");


ffpfManu.GetFreeForm().NewString("Estwing",


FreeFormParameter.SubstringSearchType);


FreeFormParameterField ffpfName = fftpProducts.GetFields().New("Name");


ffpfName.GetFreeForm().NewString("Polyurethane",


FreeFormParameter.SubstringSearchType);


search.SetSearchType(Search.GlobalOrSearchCombinationType);


A2iResultSet result;


try {


result = catalog.GetResultSet(search, rsd, "Name", true, 0);


System.out.println("Found " + result.GetRecordCount() + " records.");


// for(int n=0; n<result.GetRecordCount(); n++) {


// System.out.println(result.GetValueAt(n, "Name").GetStringValue() +


"\t\t" + result.GetValueAt(n, "Manufacturer").GetStringValue());


// }


} catch (StringException e) {


System.out.println("Search Failed!");


e.printStackTrace();


}


}


public static void main(String[] args) {


FreeFormSearchExamples ffse = new FreeFormSearchExamples();


ffse.login();


ffse.searchSingleFieldSimple();


ffse.searchSingleFieldAnd();


ffse.searchSingleFieldOr();


ffse.searchSingleFieldOrAnd();


ffse.searchTwoFieldsAnd();


ffse.searchTwoFieldsOr(); ffse.logout();


}


}



 



------------------------------------------------------------------



Example Repository


Structure


These examples are using a very simple MDM Repository ApiSampleRepositry, which is based on a main table called Products and a flat lookup table Manufacturers. Here are the details:



Tables of the ApiSampleRepository



Products table:



Fields of the Products table



The Manufacturer field references the Manufacturers table.



Manufacturers table:



Fields of the Manufacturers table



Contents


The repository was loaded with this XML file:



------------------------------------------------------------------



<?xml

version="1.0" encoding="UTF-8"?>


<Products>


<Product>


<Name>Clear Safety Goggles</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Key-Ring Standard Tip


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Wooden Handle Claw Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wooden Handle Rip Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wooden Handle Claw Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wooden Handle Framing Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wooden Handle Framing Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wooden Handle Rip Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wooden Handle Framing Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wooden Handle Framing Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wooden Handle Framing Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wood Handle Builder's Series Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wood Handle Builder's Series Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wooden Handle Framing Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Wooden Handle Framing Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Polyurethane Deadblow Sledge


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Polyurethane Deadblow Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Polyurethane Deadblow Sledge


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Slimline Polyurethane Deadblow


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Polyurethane Deadblow Sledge


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Polyurethane Deadblow Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Slimline Polyurethane Deadblow


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Polyurethane Deadblow Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Slimline Polyurethane Deadblow


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Fast-Drying Polyurethane Paint</Name>


<Manufacturer>Minwax Company</Manufacturer>


</Product>


<Product>


<Name>Fast-Drying Polyurethane Paint</Name>


<Manufacturer>Minwax Company</Manufacturer>


</Product>


<Product>


<Name>Fast-Drying Polyurethane Paint</Name>


<Manufacturer>Minwax Company</Manufacturer>


</Product>


<Product>


<Name>Polyurethane Deadblow Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Polyurethane Deadblow Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Polyurethane Mallet</Name>


<Manufacturer>Vaughan & Bushnell Mfg.


Co.</Manufacturer>


</Product>


<Product>


<Name>Standard Fluted Phillips® Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Standard Fluted Phillips® Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Standard Fluted Light-Blade/Cabinet Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Standard Fluted Standard-Blade/Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Standard Fluted Light-Blade/Cabinet Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Standard Fluted Standard-Blade/Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>2-pc Standard Fluted Screwdriver


Set</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>BexT Standard Gloves</Name>


<Manufacturer>Best Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>BexT Standard Gloves</Name>


<Manufacturer>Best Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>BexT Standard Gloves</Name>


<Manufacturer>Best Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>BexT Standard Gloves</Name>


<Manufacturer>Best Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Phillips® Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Phillips® Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Phillips® Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Phillips® Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Phillips® Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Phillips® Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Pozidriv® Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Pozidriv® Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Pozidriv® Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Pozidriv® Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Phillips® Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Phillips® Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Phillips® Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT Square-Head


Style Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Standard Fluted Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Standard Fluted Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Standard Fluted Light Blade/Cabinet Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Standard Fluted Light Blade/Cabinet Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Phillips® Standard Fluted Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Phillips® Standard Fluted Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Handyman® Standard Stubby


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip Phillips® Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip Phillips® Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip Phillips® Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Square-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Square-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Cushion-Grip Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Cushion-Grip Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Cushion-Grip Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Cushion-Grip Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip Stubby/Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip Square-Blade/Standard


Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip Square-Blade/Standard


Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip Square-Blade/Standard


Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip Light-Blade/Cabinet


Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip Light-Blade/Cabinet


Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl-Grip Light-Blade/Cabinet


Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT Pocket


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT Pocket


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT Pocket


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Extra-Light-Blade/Cabinet Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Extra-Light-Blade/Cabinet Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Extra-Light-Blade/Cabinet Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Extra-Light-Blade/Cabinet Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Extra-Light-Blade/Cabinet Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Extra-Light-Blade/Cabinet Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Standard-Blade/Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Square-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Square-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Square-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Square-Blade/Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Square-Blade/Standard Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Cabinet Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Cabinet Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Cabinet Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Cabinet Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>100 Plus® Contractor GradeT


Standard-Blade/Cabinet Tip Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT 6-pc Combination Screwdriver


Set</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT 8-pc Combination Screwdriver


Set</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Contractor GradeT Vinyl Coated Blade


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>FatmaxT Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>FatmaxT Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>FatmaxT Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>FatmaxT Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>FatmaxT Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>FatmaxT Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Standard Lock Ring Pliers</Name>


<Manufacturer>The Armstrong Tool


Comp.</Manufacturer>


</Product>


<Product>


<Name>Fluted Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Fluted Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Fluted Stubby/Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Fluted Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Fluted Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Fluted Standard Tip


Screwdriver</Name>


<Manufacturer>Stanley®</Manufacturer>


</Product>


<Product>


<Name>Specialty Polyurethane Coating</Name>


<Manufacturer>Rust-Oleum


Corporation</Manufacturer>


</Product>


<Product>


<Name>Specialty Polyurethane Coating</Name>


<Manufacturer>Rust-Oleum


Corporation</Manufacturer>


</Product>


<Product>


<Name>Specialty Polyurethane Coating</Name>


<Manufacturer>Rust-Oleum


Corporation</Manufacturer>


</Product>


<Product>


<Name>Stubby Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Round-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>ProtoblackT Standard Tip Round-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Round-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>ProtoblackT Standard Tip Round-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Round-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Round-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>ProtoblackT Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>ProtoblackT Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>ProtoblackT Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>ProtoblackT Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Square-Shank


Screwdriver</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>6-pc Standard Screwdriver Set</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>4-pc Standard Screwdriver Set</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>6-pc Standard Screwdriver Set</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>6-pc ProtoblackT Standard Screwdriver


Set</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Polyurethane Deadblow Sledge


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Screw Starter</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Screw Starter</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Standard Tip Screw Starter</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Phillips/Standard Tip Screw


Starter</Name>


<Manufacturer>Proto®</Manufacturer>


</Product>


<Product>


<Name>Slimline Polyurethane Deadblow


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Asian Pattern Claw


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Asian Pattern Claw


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Asian Pattern Claw


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Asian Pattern Claw


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Crack/Drilling


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Crack/Drilling


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Crack/Drilling


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Long-Handle Crack/Drilling


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>BexT Standard Gloves</Name>


<Manufacturer>Best Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>BexT Standard Gloves</Name>


<Manufacturer>Best Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Deadhead® Black Rubber


Mallet</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Deadhead® Gray Rubber


Mallet</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Deadhead® Black Rubber


Mallet</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Deadhead® Gray Rubber


Mallet</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip German Pattern


Schlosserhammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Claw Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Rip Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Light-Weight Rock Pick


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Light-Weight Rock Pick


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Claw Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Rip Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Claw Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Rip Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip German Pattern


Latthammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip German Pattern


Latthammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip German Pattern


Latthammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip German Pattern


Latthammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip English Pattern Claw


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip English Pattern Rip


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip English Pattern Claw


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip English Pattern Claw


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern


Schlosserhammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Drywall Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Bricklayer/Mason's


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Ball Peen


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Claw Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Chisel Edge Rock Pick


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Ripping Claw


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Light-Weight Rock Pick


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Light-Weight Rock Pick


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Pointed Tip Rock Pick


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Bricklayer/Mason's


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Ball Peen


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Claw Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Ripping Claw


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Drywall Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Bricklayer/Mason's


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Bricklayer/Mason's


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Claw Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Chisel Edge Rock Pick


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Ripping Claw


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Pointed Tip Rock Pick


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern


Latthammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern


Latthammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern


Latthammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern


Latthammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Long-Handle Pointed-Tip Rock Pick


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Bricklayer/Mason's


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Bricklayer/Mason's


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Ball Peen


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Chisel Edge Rock Pick


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Builder's Series Large-Face


Framing Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Builder's Series Large-Face


Framing Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip English Pattern Claw


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Carpenter's Hatchet</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern


Schlosserhammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Framing


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Ball Peen


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern


Schlosserhammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Engineer's


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern


Schlosserhammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern Berliner Bricklayer


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern Berliner Bricklayer


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern


Schlosserhammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip German Pattern


Schlosserhammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Ball Peen


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Shingler's Hammer w/Replaceable Blade &


Gauge</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Shingler's Hammer w/Replaceable


Gauge</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Welding Chipping


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip Pointed Tip Rock Pick


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip German Pattern


Schlosserhammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip German Pattern


Schlosserhammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Leather Grip German Pattern


Schlosserhammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip HammertoothT


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip HammertoothT


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Cross Peen Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip HammertoothT


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip HammertoothT


Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Cross Peen Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Cross Peen Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Cross Peen Hammer</Name>


<Manufacturer>Estwing Manufacturing


Company</Manufacturer>


</Product>


<Product>


<Name>Nylon-Vinyl Grip Engineer's


Hammer</Name>


<Manufactu</img></img></img></img></img></p>



 



------------------------------------------------------------------

SAP Developer Network Latest Updates