自用:
//added by victoe issue 610 20201223
static void DSA_Victor_expensecategories(Args _args)
{
SysExcelApplication excelApp;
SysExcelWorksheet workSheet;
SysExcelCells cells;
int sheetNo;
int lineNo;
String255 Category;
str MainAccountStr;
str Toenablethe;
str Nonstandardsubject;
DSA_TPwrAppExpCategory _DSA_TPwrAppExpCategory;
MainAccount _MainAccount;
sheetNo = 5;
lineNo = 2;
try
{
ttsbegin;
excelApp = SysExcelApplication::construct();
excelApp.displayAlerts(false);
excelApp.workbooks().open("C:\\Users\\victor.liu\\Desktop\\Power app Expense initial setup 20201217 SLE-Yang.xlsx");
workSheet = ExcelApp.worksheets().itemFromNum(sheetNo);
cells = workSheet.cells();
Category = cells.item(lineNo,3).value().bStr();
while (Category)
{
MainAccountStr = cells.item(lineNo,4).value().bStr();
Toenablethe = cells.item(lineNo,6).value().bStr();
Nonstandardsubject = cells.item(lineNo,7).value().bStr();
if(Toenablethe!="")
{
select forUpdate _DSA_TPwrAppExpCategory
where _DSA_TPwrAppExpCategory.Name == Category;
if(!_DSA_TPwrAppExpCategory)
{
info("Not retrieved"+Category);
}
else
{
if(_DSA_TPwrAppExpCategory.MainAccount =="")
{
if(Nonstandardsubject!="")
{
_DSA_TPwrAppExpCategory.MainAccount = Nonstandardsubject;
}
else
{
_DSA_TPwrAppExpCategory.MainAccount = MainAccountStr;
}
select _MainAccount
where _MainAccount.MainAccountId == _DSA_TPwrAppExpCategory.MainAccount;
if(!_MainAccount)
{
info("Does not exist in the table"+MainAccountStr);
}
else
{
_DSA_TPwrAppExpCategory.update();
}
}
}
}
lineNo++;
Category = cells.item(lineNo,3).value().bStr();
}
ExcelApp.workbooks().close();
ExcelApp.quit();
ttsCommit;
info("@SYS56424");
}
catch
{
ttsAbort;
error("@SYS88902" + " line no: " + int2str(lineNo));
if (ExcelApp)
{
if (ExcelApp.workbooks())
{
ExcelApp.workbooks().close();
}
ExcelApp.quit();
}
}
}