on 10-08-2014 7:09 AM
Hi All,
I want to Create sales order using .csv file without using DTW,
reading each contents from .csv file and create order in SAP Business One using VB.Net
Any help would be much appreciated. Thanks in advance!
Regards,
Swati
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
does your csv file have multiple sales order? if yes, are the sales order lines in a different file?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Swathi,
I have used this code for reading the CSV file and insert the data into User Defined Table. Hope you can change it accordingly for creating Sales Order:
CsvfilePathO is CSV File for Master Table i.e. ORDR
CsvfilePathR1 is CSV File for detailTable i.e. RDR1. Also my CSV file had the same structure as DTW Template File.
public DataSet ReadCSVFile(string CsvfilePathO, string CsvfilePathR1)
{
string wholeFile = null;
string[] lineData = null;
string[] fieldData = null;
string wholeFile1 = null;
string[] lineData1 = null;
string[] fieldData1 = null;
int icount = 0;
int iloop = 0;
int iicount = 0;
int iiloop = 0;
int k = 0;
try
{
if (File.Exists(CsvfilePathO))
{
wholeFile = System.IO.File.ReadAllText(CsvfilePathO);
lineData = wholeFile.Split('\n');
icount = lineData.Length;
iloop = 0;
foreach (string lineOfText in lineData)
{
if ((iloop > 1) && (iloop < (icount - 1)))
{
fieldData = lineOfText.Split(',');
//adding code
SAPbobsCOM.GeneralService oGeneralService;
SAPbobsCOM.GeneralData oGeneralData;
SAPbobsCOM.GeneralData oChild;
SAPbobsCOM.GeneralDataCollection oChildren;
SAPbobsCOM.GeneralDataParams oGeneralParams;
oCompService = SBO_Company.GetCompanyService();
oGeneralService = oCompService.GetGeneralService("Units");
//oGeneralParams = (SAPbobsCOM.GeneralDataParams)oGeneralService.GetDataInterface(SAPbobsCOM.GeneralServiceDataInterfaces.gsGeneralDataParams);
//oGeneralData = oGeneralService.GetByParams(oGeneralParams);
string Code = fieldData[0];
string Name = fieldData[1];
string PastelCode = fieldData[2];
string ContractNumber = fieldData[3];
oGeneralData = (SAPbobsCOM.GeneralData)oGeneralService.GetDataInterface(GeneralServiceDataInterfaces.gsGeneralData);
oGeneralData.SetProperty("Code", Code);
oGeneralData.SetProperty("Name", Name);
oGeneralData.SetProperty("U_Pastel", PastelCode);
oGeneralData.SetProperty("U_Contract", ContractNumber);
//adding code
//2nd file...
if (File.Exists(CsvfilePathR1))
{
wholeFile1 = System.IO.File.ReadAllText(CsvfilePathR1);
lineData1 = wholeFile1.Split('\n');
iicount = lineData1.Length;
foreach (string lineOfTextR in lineData1)
{
if ((iiloop > 1) && (iiloop < (iicount - 1)))
{
fieldData1 = lineOfTextR.Split(',');
//Check record key...
if (fieldData[0] == fieldData1[0])
{
if (k == 0)
{
oChildren = oGeneralData.Child("UNITDETAIL");
oChild = oChildren.Add();
string SerialNumber = fieldData1[2];
string Type = fieldData1[1];
string UnitNumber = fieldData1[3];
string Controller = fieldData1[4];
string Location = fieldData1[5];
string Address = fieldData1[6];
string OccupantType = fieldData1[7];
string OccupantName = fieldData1[8];
string ContactPerson = fieldData1[9];
string Mobile = fieldData1[10];
string Email = fieldData1[11];
string Base = fieldData1[12];
string AccountZone = fieldData1[13];
string OperationZone = fieldData1[14];
DateTime UnitAddDate = Convert.ToDateTime(fieldData1[15]);
string Remarks = fieldData1[16];
string UnitStatus = fieldData1[17];
string Reason = fieldData1[18];
string UnitID = fieldData1[19];
string LocationDescription = fieldData1[20];
//string LastInvoiceDate = fieldData1[21];
oChild.SetProperty("U_SNUM", SerialNumber);
oChild.SetProperty("U_Type", Type);
oChild.SetProperty("U_Unit", UnitNumber);
oChild.SetProperty("U_Control", Controller);
oChild.SetProperty("U_Location", Location);
oChild.SetProperty("U_Addrss", Address);
}
else
{
oChildren = oGeneralData.Child("UNITDETAIL");
oChild = oChildren.Add();
string SerialNumber = fieldData1[2];
string Type = fieldData1[1];
string UnitNumber = fieldData1[3];
string Controller = fieldData1[4];
string Location = fieldData1[5];
string Address = fieldData1[6];
string OccupantType = fieldData1[7];
string OccupantName = fieldData1[8];
string ContactPerson = fieldData1[9];
string Mobile = fieldData1[10];
string Email = fieldData1[11];
string Base = fieldData1[12];
string AccountZone = fieldData1[13];
string OperationZone = fieldData1[14];
DateTime UnitAddDate = Convert.ToDateTime(fieldData1[15]);
string Remarks = fieldData1[16];
string UnitStatus = fieldData1[17];
string Reason = fieldData1[18];
string UnitID = fieldData1[19];
string LocationDescription = fieldData1[20];
//string LastInvoice = fieldData1[20];
//string LastInvoiceDate = fieldData1[21];
oChild.SetProperty("U_SNUM", SerialNumber);
oChild.SetProperty("U_Type", Type);
oChild.SetProperty("U_Unit", UnitNumber);
oChild.SetProperty("U_Control", Controller);
oChild.SetProperty("U_Location", Location);
oChild.SetProperty("U_Addrss", Address);
}
k = k + 1;
}
}
iiloop = iiloop + 1;
}
oGeneralService.Add(oGeneralData);
iiloop = 0;
k = iiloop;
}
}
iloop = iloop + 1;
}
}
else
{
File.Create(CsvfilePathO);
}
}
catch (Exception ex)
{
string ss = ex.Message;
}
return ODataList ;
}
Hope it helps. In case of problem please feel free to ask.
Thanks & Regards
Ankit Chauhan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.