UNIT_Excel (Importing Units of 2009)
==============================
static void Unit_Excel(Args _args)
{
Dialog dialog;
DialogField dialogfield;
Filename filename;
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
int row;
UnitOfMeasure unitofmeasure,UnitFM;
;
dialog = new dialog("FileOpen");
dialogfield = dialog.addField(extendedTypeStr(FilenameOpen), 'File Name');
dialog.run();
if(dialog.run())
{
filename =(dialogfield.value());
}
row=1;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
try
{
workbooks.open(filename);
}
catch (Exception::Error)
{
throw error("File cannot be opened.");
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
do
{
row++;
unitofmeasure.DecimalPrecision=any2int(cells.item(row,1).value().double());
unitofmeasure.Symbol=cells.item(row,2).value().bStr();
unitofmeasure.SystemOfUnits=any2int(cells.item(row,3).value().double());
unitofmeasure.UnitOfMeasureClass=any2int(cells.item(row,4).value().double());
UnitFM=unitofmeasure::findBySymbol(unitofmeasure.Symbol,true);
if(UnitFM)
{
ttsBegin;
UnitFM.selectForUpdate(true);
UnitFM.update();
ttsCommit;
}
else
unitofmeasure.insert();
info(strfmt('%1 ', unitofmeasure.RecId ));
type = cells.item(row+1, 1).value().variantType();
}
while (type != COMVariantType::VT_EMPTY);
application.quit();
}
-===================================================================
UOM_Excel ( Importing Unit of Measures of 2009)
====================================================================
static void UOM_Excel(Args _args)
{
Dialog dialog;
DialogField dialogfield;
Filename filename;
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
int row,cnt=0;
UnitOfMeasureConversion unitOfMeasureConversion, unitofmeasure;
;
dialog = new dialog("FileOpen");
dialogfield = dialog.addField(extendedTypeStr(FilenameOpen), 'File Name');
dialog.run();
if(dialog.run())
{
filename =(dialogfield.value());
}
row=1;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
try
{
workbooks.open(filename);
}
catch (Exception::Error)
{
throw error("File cannot be opened.");
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
do
{
row++;
unitOfMeasureConversion.Product = EcoResProduct::findByProductNumber(cells.item(row, 1).value().bStr()).Recid;
unitOfMeasureConversion.ToUnitOfMeasure = UnitOfMeasure::findBySymbol(cells.item(row, 4).value().bStr()).RecId;
unitOfMeasureConversion.Factor = cells.item(row, 3).value().double();
unitOfMeasureConversion.Numerator = 1;
unitOfMeasureConversion.Denominator = 1;
unitOfMeasureConversion.FromUnitOfMeasure = UnitOfMeasure::findBySymbol(cells.item(row, 2).value().bStr()).RecId;
unitOfMeasureConversion.Rounding = UnitofMeasureconversionrounding::Nearest;//cells.item(row, 5).value().bStr();
unitofmeasure = UnitOfMeasureConversion::findByConversion(unitOfMeasureConversion.FromUnitOfMeasure, unitOfMeasureConversion.ToUnitOfMeasure,unitOfMeasureConversion.Product);
if( unitOfMeasureConversion.ToUnitOfMeasure!=0 && unitOfMeasureConversion.FromUnitOfMeasure!=0)
{
if(unitofmeasure)
{
ttsBegin;
unitofmeasure.selectForUpdate(true);
unitofmeasure.update();
ttsCommit;
}
else
{
unitOfMeasureConversion.insert();
cnt++;
}
info(strfmt(' Conversions imported for the products=%1 ', EcoResProduct::findByProductNumber(cells.item(row, 1).value().bStr()).DisplayProductNumber ));
}
else
{
info(strfmt('Conversions are not imported for products=%1 ', EcoResProduct::findByProductNumber(cells.item(row, 1).value().bStr()).DisplayProductNumber ));
}
type = cells.item(row+1, 1).value().variantType();
}
while (type != COMVariantType::VT_EMPTY);
info(strFmt('No Of Conversions imported are=%1',cnt));
application.quit();
}
--------------------------------------------------------------------------------------------------------------------------
Below is the method to check the Text format
static void UOM_Excel(Args _args)
{
Dialog dialog;
DialogField dialogfield;
Filename filename;
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
EcoResProduct ecoResProduct;
InventTable inventtable;
ItemId itemid;
COMVariantType type;
int row,cnt=0;
UnitOfMeasureConversion unitOfMeasureConversion, unitofmeasure;
;
dialog = new dialog("FileOpen");
dialogfield = dialog.addField(extendedTypeStr(FilenameOpen), 'File Name');
dialog.run();
if(dialog.run())
{
filename =(dialogfield.value());
}
row=1;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
try
{
workbooks.open(filename);
}
catch (Exception::Error)
{
throw error("File cannot be opened.");
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
do
{
row++;
switch(cells.item(row, 1).value().variantType())
{
case COMVariantType::VT_BSTR:
itemid = strFmt("%1", cells.item(row, 1).value().bStr());
break;
case COMVariantType::VT_DECIMAL, COMVariantType::VT_R4, COMVariantType::VT_R8:
itemid = strFmt("%1", any2int(cells.item(row, 1).value().double()));
break;
case COMVariantType::VT_I1, COMVariantType::VT_I2, COMVariantType::VT_I4:
itemid = strFmt("%1", cells.item(row, 1).value().int());
break;
case COMVariantType::VT_UI1, COMVariantType::VT_UI2, COMVariantType::VT_UI4:
itemid = strFmt("%1", cells.item(row, 1).value().uLong());
break;
case COMVariantType::VT_EMPTY:
itemid = '';
break;
default:
throw error(strfmt('Unhandled variant type (%1).', cells.item(row, 1).value().variantType()));
}
if(itemid)
{
inventtable = InventTable::find(itemid);
unitOfMeasureConversion.Product = inventtable.Product;
unitOfMeasureConversion.ToUnitOfMeasure = UnitOfMeasure::findBySymbol(cells.item(row, 4).value().bStr()).RecId;
unitOfMeasureConversion.Factor = cells.item(row, 3).value().double();
unitOfMeasureConversion.Numerator = 1;
unitOfMeasureConversion.Denominator = 1;
unitOfMeasureConversion.FromUnitOfMeasure = UnitOfMeasure::findBySymbol(cells.item(row, 2).value().bStr()).RecId;
unitOfMeasureConversion.Rounding = UnitofMeasureconversionrounding::Nearest; unitofmeasure = UnitOfMeasureConversion::findByConversion(unitOfMeasureConversion.FromUnitOfMeasure, unitOfMeasureConversion.ToUnitOfMeasure,unitOfMeasureConversion.Product);
if( unitOfMeasureConversion.ToUnitOfMeasure!=0 && unitOfMeasureConversion.FromUnitOfMeasure!=0)
{
if(unitofmeasure)
{
ttsBegin;
unitofmeasure.selectForUpdate(true);
unitofmeasure.update();
ttsCommit;
}
else
{
unitOfMeasureConversion.insert();
cnt++;
}
info(strfmt(' Conversions imported for the products=%1 ', inventtable.ItemId));
}
else
{
info(strfmt('Conversions are not imported for products=%1 ', inventtable.ItemId));
}
}
else
{
info(strfmt('Item not found: %1',cells.item(row, 1).value().bStr()));
}
type = cells.item(row+1, 1).value().variantType();
}
while (type != COMVariantType::VT_EMPTY);
info(strFmt('No Of Conversions imported are=%1',cnt));
application.quit();
}
==============================
static void Unit_Excel(Args _args)
{
Dialog dialog;
DialogField dialogfield;
Filename filename;
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
int row;
UnitOfMeasure unitofmeasure,UnitFM;
;
dialog = new dialog("FileOpen");
dialogfield = dialog.addField(extendedTypeStr(FilenameOpen), 'File Name');
dialog.run();
if(dialog.run())
{
filename =(dialogfield.value());
}
row=1;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
try
{
workbooks.open(filename);
}
catch (Exception::Error)
{
throw error("File cannot be opened.");
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
do
{
row++;
unitofmeasure.DecimalPrecision=any2int(cells.item(row,1).value().double());
unitofmeasure.Symbol=cells.item(row,2).value().bStr();
unitofmeasure.SystemOfUnits=any2int(cells.item(row,3).value().double());
unitofmeasure.UnitOfMeasureClass=any2int(cells.item(row,4).value().double());
UnitFM=unitofmeasure::findBySymbol(unitofmeasure.Symbol,true);
if(UnitFM)
{
ttsBegin;
UnitFM.selectForUpdate(true);
UnitFM.update();
ttsCommit;
}
else
unitofmeasure.insert();
info(strfmt('%1 ', unitofmeasure.RecId ));
type = cells.item(row+1, 1).value().variantType();
}
while (type != COMVariantType::VT_EMPTY);
application.quit();
}
-===================================================================
UOM_Excel ( Importing Unit of Measures of 2009)
====================================================================
static void UOM_Excel(Args _args)
{
Dialog dialog;
DialogField dialogfield;
Filename filename;
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
int row,cnt=0;
UnitOfMeasureConversion unitOfMeasureConversion, unitofmeasure;
;
dialog = new dialog("FileOpen");
dialogfield = dialog.addField(extendedTypeStr(FilenameOpen), 'File Name');
dialog.run();
if(dialog.run())
{
filename =(dialogfield.value());
}
row=1;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
try
{
workbooks.open(filename);
}
catch (Exception::Error)
{
throw error("File cannot be opened.");
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
do
{
row++;
unitOfMeasureConversion.Product = EcoResProduct::findByProductNumber(cells.item(row, 1).value().bStr()).Recid;
unitOfMeasureConversion.ToUnitOfMeasure = UnitOfMeasure::findBySymbol(cells.item(row, 4).value().bStr()).RecId;
unitOfMeasureConversion.Factor = cells.item(row, 3).value().double();
unitOfMeasureConversion.Numerator = 1;
unitOfMeasureConversion.Denominator = 1;
unitOfMeasureConversion.FromUnitOfMeasure = UnitOfMeasure::findBySymbol(cells.item(row, 2).value().bStr()).RecId;
unitOfMeasureConversion.Rounding = UnitofMeasureconversionrounding::Nearest;//cells.item(row, 5).value().bStr();
unitofmeasure = UnitOfMeasureConversion::findByConversion(unitOfMeasureConversion.FromUnitOfMeasure, unitOfMeasureConversion.ToUnitOfMeasure,unitOfMeasureConversion.Product);
if( unitOfMeasureConversion.ToUnitOfMeasure!=0 && unitOfMeasureConversion.FromUnitOfMeasure!=0)
{
if(unitofmeasure)
{
ttsBegin;
unitofmeasure.selectForUpdate(true);
unitofmeasure.update();
ttsCommit;
}
else
{
unitOfMeasureConversion.insert();
cnt++;
}
info(strfmt(' Conversions imported for the products=%1 ', EcoResProduct::findByProductNumber(cells.item(row, 1).value().bStr()).DisplayProductNumber ));
}
else
{
info(strfmt('Conversions are not imported for products=%1 ', EcoResProduct::findByProductNumber(cells.item(row, 1).value().bStr()).DisplayProductNumber ));
}
type = cells.item(row+1, 1).value().variantType();
}
while (type != COMVariantType::VT_EMPTY);
info(strFmt('No Of Conversions imported are=%1',cnt));
application.quit();
}
--------------------------------------------------------------------------------------------------------------------------
Below is the method to check the Text format
static void UOM_Excel(Args _args)
{
Dialog dialog;
DialogField dialogfield;
Filename filename;
SysExcelApplication application;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
EcoResProduct ecoResProduct;
InventTable inventtable;
ItemId itemid;
COMVariantType type;
int row,cnt=0;
UnitOfMeasureConversion unitOfMeasureConversion, unitofmeasure;
;
dialog = new dialog("FileOpen");
dialogfield = dialog.addField(extendedTypeStr(FilenameOpen), 'File Name');
dialog.run();
if(dialog.run())
{
filename =(dialogfield.value());
}
row=1;
application = SysExcelApplication::construct();
workbooks = application.workbooks();
try
{
workbooks.open(filename);
}
catch (Exception::Error)
{
throw error("File cannot be opened.");
}
workbook = workbooks.item(1);
worksheets = workbook.worksheets();
worksheet = worksheets.itemFromNum(1);
cells = worksheet.cells();
do
{
row++;
switch(cells.item(row, 1).value().variantType())
{
case COMVariantType::VT_BSTR:
itemid = strFmt("%1", cells.item(row, 1).value().bStr());
break;
case COMVariantType::VT_DECIMAL, COMVariantType::VT_R4, COMVariantType::VT_R8:
itemid = strFmt("%1", any2int(cells.item(row, 1).value().double()));
break;
case COMVariantType::VT_I1, COMVariantType::VT_I2, COMVariantType::VT_I4:
itemid = strFmt("%1", cells.item(row, 1).value().int());
break;
case COMVariantType::VT_UI1, COMVariantType::VT_UI2, COMVariantType::VT_UI4:
itemid = strFmt("%1", cells.item(row, 1).value().uLong());
break;
case COMVariantType::VT_EMPTY:
itemid = '';
break;
default:
throw error(strfmt('Unhandled variant type (%1).', cells.item(row, 1).value().variantType()));
}
if(itemid)
{
inventtable = InventTable::find(itemid);
unitOfMeasureConversion.Product = inventtable.Product;
unitOfMeasureConversion.ToUnitOfMeasure = UnitOfMeasure::findBySymbol(cells.item(row, 4).value().bStr()).RecId;
unitOfMeasureConversion.Factor = cells.item(row, 3).value().double();
unitOfMeasureConversion.Numerator = 1;
unitOfMeasureConversion.Denominator = 1;
unitOfMeasureConversion.FromUnitOfMeasure = UnitOfMeasure::findBySymbol(cells.item(row, 2).value().bStr()).RecId;
unitOfMeasureConversion.Rounding = UnitofMeasureconversionrounding::Nearest; unitofmeasure = UnitOfMeasureConversion::findByConversion(unitOfMeasureConversion.FromUnitOfMeasure, unitOfMeasureConversion.ToUnitOfMeasure,unitOfMeasureConversion.Product);
if( unitOfMeasureConversion.ToUnitOfMeasure!=0 && unitOfMeasureConversion.FromUnitOfMeasure!=0)
{
if(unitofmeasure)
{
ttsBegin;
unitofmeasure.selectForUpdate(true);
unitofmeasure.update();
ttsCommit;
}
else
{
unitOfMeasureConversion.insert();
cnt++;
}
info(strfmt(' Conversions imported for the products=%1 ', inventtable.ItemId));
}
else
{
info(strfmt('Conversions are not imported for products=%1 ', inventtable.ItemId));
}
}
else
{
info(strfmt('Item not found: %1',cells.item(row, 1).value().bStr()));
}
type = cells.item(row+1, 1).value().variantType();
}
while (type != COMVariantType::VT_EMPTY);
info(strFmt('No Of Conversions imported are=%1',cnt));
application.quit();
}
No comments:
Post a Comment