{
Boolean result = true;
JDBMaterial mat = new JDBMaterial(getHostID(), getSessionID());
JDBMaterialType mattype = new JDBMaterialType(getHostID(), getSessionID());
JDBMaterialLocation matlocn = new JDBMaterialLocation(getHostID(), getSessionID());
JDBLocation locn = new JDBLocation(getHostID(), getSessionID());
JDBMaterialUom matuom = new JDBMaterialUom(getHostID(), getSessionID());
JDBUom uomdb = new JDBUom(getHostID(), getSessionID());
JDBInterface inter = new JDBInterface(getHostID(), getSessionID());
JDBControl ctrl = new JDBControl(getHostID(), getSessionID());
JDBMaterialCustomerData matcustdata = new JDBMaterialCustomerData(getHostID(), getSessionID());
JDBCustomer cust = new JDBCustomer(getHostID(), getSessionID());
String defaultBatchStatus = ctrl.getKeyValue("DEFAULT BATCH STATUS");
inter.getInterfaceProperties("Material Definition", "Input");
material = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/material").trim());
setErrorMessage("Material " + material + " updated.");
materialType = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/materialType").trim());
if (mattype.isValidMaterialType(materialType) == false)
{
mattype.create(materialType, materialType);
}
description = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/description").trim());
base_uom = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/base_uom").trim());
base_uom = uomdb.convertUom(inter.getUOMConversion(), base_uom);
production_uom = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/production_uom").trim());
production_uom = uomdb.convertUom(inter.getUOMConversion(), production_uom);
issue_uom = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/issue_uom").trim());
issue_uom = uomdb.convertUom(inter.getUOMConversion(), issue_uom);
shelf_life_uom = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/shelf_life_uom").trim());
equipment_type = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/equipment_Type").trim());
shelf_life = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/shelf_life").trim());
shelf_life_rule = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/shelf_life_rule").trim());
gross_weight = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/gross_weight").trim());
net_weight = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/net_weight").trim());
weight_uom = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/weight_uom").trim());
weight_uom = uomdb.convertUom(inter.getUOMConversion(), weight_uom);
old_material = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/old_material").trim());
inspection_id = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/inspection_id").trim());
default_batch_status = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath("//message/messageData/materialDefinition/default_batch_status").trim());
/* Material Customer Data */
repeat = true;
seq = 1;
do
{
key = "//message/messageData/materialDefinition/materialCustomerData/customer[" + String.valueOf(seq) + "]/@ID";
customerID = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath(key).trim());
if (customerID.length() > 0)
{
repeat2 = true;
seq2 = 1;
do
{
key = "//message/messageData/materialDefinition/materialCustomerData/customer[" + String.valueOf(seq) + "]/data[" + String.valueOf(seq2) + "]/@dataType";
dataID = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath(key).trim());
key = "//message/messageData/materialDefinition/materialCustomerData/customer[" + String.valueOf(seq) + "]/data[" + String.valueOf(seq2) + "]/@value";
dataValue = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath(key).trim());
if (dataID.length() > 0)
{
if (matcustdata.isValidMaterialCustomerData(material, customerID, dataID)==false)
{
matcustdata.create(material, customerID, dataID);
}
matcustdata.setData(dataValue);
matcustdata.update();
if (dataID.equals("NAME"))
{
customer_name=dataValue;
}
} else
{
repeat2=false;
}
seq2++;
} while (repeat2);
if (cust.isValidCustomer(customerID)==false)
{
cust.clear();
cust.create(customerID, customer_name, "Y");
cust.update();
}
}
else
{
repeat=false;
}
seq++;
} while (repeat);
/* Material Locations */
repeat = true;
seq = 1;
do
{
key = "//message/messageData/materialDefinition/validLocations/location[" + String.valueOf(seq) + "]/id";
location = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath(key).trim());
key = "//message/messageData/materialDefinition/validLocations/location[" + String.valueOf(seq) + "]/status";
status = JUtility.replaceNullStringwithBlank(gmh.getXMLDocument().findXPath(key).trim());
if (location.length() > 0)
{
if (locn.isValidLocation(location) == true)
{
if (matlocn.isValidMaterialLocation(material, location) == false)
{
matlocn.create(material, location);
}
matlocn.setStatus(status);
matlocn.update();
}
} else
{
repeat = false;