I’m working on a customization to transfer parts between warehouses. I need to handle serial number transfer. I’m using working C # code from github which doesn’t handle serial numbers. Modifying the code to handle serial numbers, but without success. The serial number is not selected.
InvTransferAdapter ita = new InvTransferAdapter(oTrans);
ita.BOConnect();
string legalNumberMessage="";
string partTranPKs="";
string iPCID="";
bool recordADD;
InvTransferDataSet itds = ita.InvTransferData;
InvTransferDataSet transferRecord = ita.GetTransferRecord( Guid.NewGuid(), PartNum,iPCID,UOM,out recordADD);
InvTransferDataSet.InvTransDataTable table = (InvTransferDataSet.InvTransDataTable)ita.InvTransferData.InvTrans;
DataRow dsa = table.Rows[0];
dsa.BeginEdit();
dsa["Company"]="P001";
dsa["FromWarehouseCode"]=FromWarehouse;
dsa["ToWarehouseCode"]=ToWarehouse;
dsa["FromBinNum"]=FromBin;
dsa["ToBinNum"]=ToBin;
dsa["Plant"]="MfgSys";
dsa["Plant2"]="MfgSys";
dsa["PartNum"]=PartNum;
dsa["TranReference"]=Reference;
dsa["FromPlant"]="MfgSys";
dsa["ToPlant"]="MfgSys";
dsa["TransferQty"]=1;//Qty;
dsa["TransferQtyUOM"]=UOM;
dsa["TranDocTypeID"]="MM";
dsa["TrackSerialnumbers"]=true;
dsa["Source"]="xx";
dsa["RowMod"]="U";
dsa.EndEdit();
InvTransferDataSet.SelectedSerialNumbersDataTable tableSN=(InvTransferDataSet.SelectedSerialNumbersDataTable) ita.InvTransferData.SelectedSerialNumbers;
DataRow dsaSN = tableSN.NewRow();
dsaSN.BeginEdit();
dsaSN["Company"]="P001";
dsaSN["PartNum"]=PartNum;
dsaSN["RowMod"]="A";
dsaSN["SourceRowID"]=dsa["SysRowID"];
dsaSN["SysRowID"]=Guid.NewGuid();
dsaSN["SNBaseNumber"]="00911";
dsaSN["NotSavedToDB"]=true;
dsaSN["Voided"]=false;
dsaSN["Scrapped"]=false;
dsaSN["PreDeselected"]=false;
dsaSN["KBLbrAction"]=0;
dsaSN["SerialNumber"]="1134-100-49500911";
dsaSN.EndEdit();
bool requiresUserInput = false;
try{
if (!ita.PreCommitTransfer(out requiresUserInput))
{
return;
}
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
return;
}
try{
if (!ita.CommitTransfer(out legalNumberMessage,out partTranPKs))
{
return;
}
}
catch (Exception exc)
{
MessageBox.Show(exc.ToString());
return;
}
ita.Dispose;