class ExcelBGUploadTest extends RunBaseBatch
{
str fileUrl;
public static void main(Args _args)
{
ExcelBGUploadTest obj;
obj = new ExcelBGUploadTest();
if (obj.prompt())
{
obj.runOperation();
}
}
server client static public ClassDescription description()
{
return "My batch job";
}
public boolean canRunInNewSession()
{
return false;
}
Object Dialog()
{
FormBuildButtonControl buttonControl;
DialogGroup dlgGroup;
FormBuildGroupControl buttonGroup;
Dialog dialog = super();
dlgGroup = dialog.addGroup('');
buttonGroup = dialog.formBuildDesign().control(dlgGroup.formBuildGroup().id());
buttonControl = buttonGroup.addControl(FormControlType::Button, 'Upload');
buttonControl.text("Upload file");
buttonControl.registerOverrideMethod(methodStr(FormButtonControl, clicked),
methodStr(ExcelBGUploadTest, uploadClickedEvent),
this);
return dialog;
}
private void uploadClickedEvent(FormButtonControl _formButtonControl)
{
FileUploadTemporaryStorageResult result = File::GetFileFromUser() as FileUploadTemporaryStorageResult;
if (result && result.getUploadStatus())
{
result.getFileContentType();
fileUrl = result.getDownloadUrl();
info(fileUrl);
}
}
Public void run()
{
System.Byte[] byteArray;
System.IO.Stream stream;
try
{
stream = File::UseFileFromURL(fileUrl);
this. readExcelData(stream);
info("Done");
}
catch(Exception::Error)
{
info(strFmt("%1 %2",Exception::Error,fileUrl));
}
}
public container readExcelData(System.IO.Stream _stream)
{
OfficeOpenXml.ExcelWorksheet _worksheet;
OfficeOpenXml.ExcelPackage package = new OfficeOpenXml.ExcelPackage(_stream);
int iRowCount,iCellCount;
anytype anyData;
container conRow;
container conData;
purchreqtable purchreqtable;
try
{
ttsbegin;
if(package)
{
_worksheet = package.get_Workbook().get_Worksheets().Copy("Sheet1","Journal");
var cells = _worksheet.get_Cells();
//iRowCount = _worksheet.get_Dimension().get_End().get_Row();
//iCellCount = _worksheet.get_Dimension().get_End().get_Column();
info(any2Str(str2Date(cells.get_Item(1, 1).get_Value(),321)));
date nextDay = str2Date(cells.get_Item(1, 1).get_Value(),321);
select forupdate firstonly TransDate
from purchreqtable
where purchreqtable.PurchReqId == '002531';
purchreqtable.TransDate = nextDay;
purchreqtable.update();
}
ttscommit;
}
catch (Exception::CLRError)
{
throw error("@SYS135884");
}
return conData;
}
}