Required code import button in Kinetic Application
@aosemwengie1
@dcamlin
@GabeFranco
Epicor Classic Code is given below, required kinetic code
private void btnImport_Click(object sender, System.EventArgs args)
{
GetMiscShipDtls();
}
private void GetMiscShipDtls()
{
try
{
EpiDataView edvMscShpHd = (EpiDataView)this.oTrans.EpiDataViews["MscShpHd"];
if (edvMscShpHd.Row < 0)
return;
string JobNum = edvMscShpHd.dataView[0]["JobNum"].ToString();
if (JobNum.Length == 0)
{
MessageBox.Show("Job Num Field is Empty.", "Warning");
return;
}
MiscShipAdapter adapterMiscShip = new MiscShipAdapter(this.oTrans);
adapterMiscShip.BOConnect();
int packNum = (int)edvMscShpHd.dataView[edvMscShpHd.Row]["PackNum"];
DataTable dt = GetJobMtlViaBAQ(JobNum);
bool hasVal = false;
if (dt == null)
return;
if (dt.Rows.Count > 0)
{
int i = 1;
foreach (DataRow dr in dt.Rows)
{
int ShipQty = (int)(dr["Calculated_ShipQty"]);
int MtlSeq = (int)(dr["JobMtl_MtlSeq"]);
int ReqdQty = (int)(dr["Calculated_RequiredQty"]);
int IssuedQty = (int)(dr["Calculated_IssuedQty"]);
if (ShipQty > 0)
{
if (adapterMiscShip.GetByID(packNum))
{
if (adapterMiscShip.GetNewMscShpDt(packNum))
{
if (adapterMiscShip.OnChangePartNum())
{
DataRow dRow = adapterMiscShip.MiscShipData.MscShpDt[adapterMiscShip.MiscShipData.MscShpDt.Rows.Count - 1];
dRow["Company"] = dr["JobMtl_Company"].ToString();
dRow["IUM"] = dr["JobMtl_IUM"].ToString();
dRow["PackNum"] = packNum;
dRow["PackLine"] = i;
dRow["LineType"] = "PART";
dRow["IssuedQty_c"] = IssuedQty;
dRow["RequiredQty_c"] = ReqdQty;
dRow["MtlSeq_c"] = MtlSeq;
dRow["MiscShipDate_c"] = DateTime.Now.Date;
dRow["HasShipped_c"] = true;
dRow["Quantity"] = ShipQty;
dRow["PartNum"] = dr["JobMtl_PartNum"].ToString();
dRow["MtlSeq"] = (int)dr["JobMtl_MtlSeq"];
dRow["LineDesc"] = dr["JobMtl_Description"].ToString();
dRow["SysRowID"] = "00000000-0000-0000-0000-000000000000";
dRow["RowMod"] = "A";
adapterMiscShip.Update();
i++;
hasVal = true;
}
}
}
}
}
if (hasVal){
// SetExtendedProperties();
this.oTrans.Refresh();
MessageBox.Show("Job imported successfully! ", "Success");
}
else
{
MessageBox.Show("This Job# "+JobNum+" was already shipped.", "Warning");
return;
}
}
else
{
MessageBox.Show("Job data was not found.", "Information");
}
}
catch (System.Exception ex)
{
ExceptionBox.Show(ex);
}
}
private DataTable GetJobMtlViaBAQ(string JobNum)
{
DynamicQueryAdapter dqa = new DynamicQueryAdapter(oTrans);
dqa.BOConnect();
QueryExecutionDataSet qeds = dqa.GetQueryExecutionParametersByID("Get-JobDetailsForMisShipDtl");
qeds.ExecutionParameter.Clear();
qeds.ExecutionParameter.AddExecutionParameterRow("JobNum",JobNum,"nvarchar",false,Guid.NewGuid(),"A");
dqa.ExecuteByID("Get-JobDetailsForMisShipDtl", qeds);
if (dqa.QueryResults.Tables["Results"].Rows.Count > 0)
{
DataTable dtV = dqa.QueryResults.Tables[0];
return dtV;
}
else
{
return null;
}
}

