Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ Batch Management

Example

  • Last UpdatedAug 26, 2016
  • 2 minute read

The following sample C# code illustrates how to define, query, and use the wwActualChars object.

The example populates a list of ingredients, populates a list of units to which the material has been assigned whenever a material is selected, populates a list of lot tracking information defined for the selected unit, and finally populates a list of actual characteristics for the selected lot tracking instance. The global variables are defined so that they are available throughout the entire program.

private void SetLotTrackingInfo()

{

lotTrackingLsv.Items.Clear();

wwMaterialUnits LocMatUnits;

LocMatUnits = GetMatUnits();// you get this function in the above page

if(LocMatUnits== null)

return;

// UnitsLsb is the list box containing units

for (int ut = 1; ut <= LocMatUnits.Count; ut++)

{

MatUnit = (wwMaterialUnit)LocMatUnits.Item(ut);

if (UnitsLsb.Items.Count > 0)

if (MatUnit.UnitName == UnitsLsb.SelectedItem.ToString())

break;

}

if (LocMatUnits.Count == 0)

return;

MatUnit.QueryCLBs();

MatClbs = (wwMaterialCLBs)MatUnit.MaterialCLBs;

for (int i = 1; i <= MatClbs.Count; i++)

{

MatClb = (wwMaterialCLB)MatClbs.Item(i);

ListViewItem listItem = new ListViewItem(i.ToString());

listItem.SubItems.Add(MatClb.CampaignID);

listItem.SubItems.Add(MatClb.LotID);

listItem.SubItems.Add(MatClb.BatchID);

lotTrackingLsv.Items.Add(listItem);

}

}

private void SetAvailableUnits()

{

AvaliableUnitsLsb.Items.Clear();

AvaliableUnitsLsb.Show();

if (MatStatus.GetMaterialType() == "Ingradiants") mdbc.QueryMaterialsByType(wwMtrlTypeEnum.wwTypeIngredient);

if (MatStatus.GetMaterialType() == "Finished Goods") mdbc.QueryMaterialsByType(wwMtrlTypeEnum.wwTypeFinishedGood);

if (MatStatus.GetMaterialType() == "Intermediates") mdbc.QueryMaterialsByType(wwMtrlTypeEnum.wwTypeIntermediate);

if (MatStatus.GetMaterialType() == "Other products")

mdbc.QueryMaterialsByType(wwMtrlTypeEnum.wwTypeOther);

if (MatStatus.GetMaterialType() == "All")

mdbc.QueryMaterialsByType(wwMtrlTypeEnum.wwTypeAll);

mdbc.QueryMaterialsById(MatStatus.GetMaterialId());

mats = (wwMaterials)mdbc.Materials;

if (mats.Count == 0)

return;

Material = (wwMaterial)mats.Item(1);

MatDb.QueryAvailableUnits();

MatDBunits = (wwAvailableUnits)MatDb.AvailableUnits;

for(int i=1; i <= MatDBunits.Count; i++)

AvaliableUnitsLsb.Items.Add( MatDBunits.Item(i));

}

Private void SetLotTrackingInfo

{

wwMaterialUnits LocMatUnits;

wwActualChar MatActualChar;

wwActualChars MatActualChars;

wwMaterials mats;

wwMaterial Material;

wwMaterialUnit MatUnit = null;

wwMaterialCLBs MatClbs;

wwMaterialCLB MatClb;

// LotTrackingLsv is the listview

string strCampaign = lotTrackingLsv.SelectedItems[0].SubItems[1].Text

string strLot = lotTrackingLsv.SelectedItems[0].SubItems[2].Text;

string strBatch = lotTrackingLsv.SelectedItems[0].SubItems[3].Text;

if (strLot.Length > 0)

{

CampaignTxt.Text = strCampaign;

LotText.Text = strLot;

BatchTxt.Text = strBatch;

}

LocMatUnits = GetMatUnits(); // given below function

if (LocMatUnits == null)

return;

for (int ut = 1; ut <= LocMatUnits.Count; ut++)

{

MatUnit = (wwMaterialUnit)LocMatUnits.Item(ut);

// UnitsLsb is listbox

if (UnitsLsb.Items.Count > 0)

if (MatUnit.UnitName == UnitsLsb.SelectedItem.ToString())

break;

}

MatUnit.QueryCLBs();

MatClbs = (wwMaterialCLBs)MatUnit.MaterialCLBs;

for (int i = 1; i <= MatClbs.Count; i++)

{

MatClb = (wwMaterialCLB)MatClbs.Item(i);

if (i == System.Convert.ToInt16(lotTrackingLsv.SelectedItems[0].SubItems[0].Text))

break;

}

QualityText.Text = MatClb.Quantity.ToString();

DateTime dttm = new DateTime(MatClb.Year, MatClb.Month, MatClb.Day);

dateTimePicker1.Value = dttm;

MatClb.QueryActualChars();

MatActualChars = (wwActualChars)MatClb.ActualChars;

for (int k = 1; k <= MatActualChars.Count; k++)

{

MatActualChar = (wwActualChar)MatActualChars.Item(k);

ListViewItem listItem = new ListViewItem(k.ToString());

listItem.SubItems.Add(MatActualChar.Name); listItem.SubItems.Add(MatActualChar.Value.ToString());

ActualcharsLsv.Items.Add(listItem);

}

}

TitleResults for “How to create a CRG?”Also Available in