private static void openCSVAndReadIt(Args args)
{
#File
IO iO;
Dialog dialog;
DialogField dialogFilename;
ProjId projId;
ProjGroupId fromProjGrpId;
ProjGroupId toProjGrpId;
FilenameOpen filename;
Container record;
boolean first = true;
;
dialog = new Dialog("ProjGrp Change");
dialogFilename = dialog.addField(extendedTypeStr(FilenameOpen));
dialog.filenameLookupFilter(["@SYS100852","*.csv"]);
dialog.caption("ProjGrp Change");
dialogFilename.value(filename);
if(!dialog.run())
return;
filename = dialogFilename.value();
iO = new CommaTextIo(filename,#IO_Read);
if (! iO || iO.status() != IO_Status::Ok)
{
throw error("@SYS19358");
}
while (iO.status() == IO_Status::Ok)
{
record = iO.read();// To read file
if (record)
{
if (first) //To skip header
{
first = false;
}
else
{
//do your logic here, in my case I will be using it change project groups as mentioned in the next blog post
projId = conpeek(record, 1);//To peek record
toProjGrpId = conpeek(record, 4);
ProjGrpChangeCSV::changeGroupPerReord(ProjTable::find(projId),toProjGrpId);
}
}
}
}
{
#File
IO iO;
Dialog dialog;
DialogField dialogFilename;
ProjId projId;
ProjGroupId fromProjGrpId;
ProjGroupId toProjGrpId;
FilenameOpen filename;
Container record;
boolean first = true;
;
dialog = new Dialog("ProjGrp Change");
dialogFilename = dialog.addField(extendedTypeStr(FilenameOpen));
dialog.filenameLookupFilter(["@SYS100852","*.csv"]);
dialog.caption("ProjGrp Change");
dialogFilename.value(filename);
if(!dialog.run())
return;
filename = dialogFilename.value();
iO = new CommaTextIo(filename,#IO_Read);
if (! iO || iO.status() != IO_Status::Ok)
{
throw error("@SYS19358");
}
while (iO.status() == IO_Status::Ok)
{
record = iO.read();// To read file
if (record)
{
if (first) //To skip header
{
first = false;
}
else
{
//do your logic here, in my case I will be using it change project groups as mentioned in the next blog post
projId = conpeek(record, 1);//To peek record
toProjGrpId = conpeek(record, 4);
ProjGrpChangeCSV::changeGroupPerReord(ProjTable::find(projId),toProjGrpId);
}
}
}
}
No comments:
Post a Comment