AX 2012 SALES TRADE AGGREMENTS UPLOAD FROM EXCEL X++ CODE
class VIK_SalesMaster_ExcelImport extends RunBaseBatch
{
DialogField dialogfile;
FilenameOpen fileName;
localmacro.CurrentList
fileName
endmacro
}
dialog
protected Object dialog()
{
DialogRunbase _dialog = super();
_dialog.caption("Sales : Trade Aggrement Upload");
dialogfile = _dialog.addField("FilenameOpen","Enter file path : ");
dialogfile.value(fileName);
return _dialog;
}
getFromDialog
public boolean getFromDialog()
{
;
fileName = dialogfile.value();
return true;
}
run
public void run()
{
SysExcelApplication excel;
SysExcelWorkbooks workbooks;
SysExcelWorkbook workbook;
SysExcelWorksheets worksheets;
SysExcelWorksheet worksheet;
SysExcelCells cells;
COMVariantType type;
int row =1;
int _noofprints;
CustName name;
int i,j;
//sales price upload
str queryPricingMaster,itemId,existingItemIdsList,tempValue;
ResultSet resultSet;
InventTable inventTable;
AifEntityKeyList keys;
DD_HI_RRP_Staging RRPStaging;
PricePriceDiscJournalService PriceDiscSvc;
PricePriceDiscJournal PriceDiscJour;
PricePriceDiscJournal_PriceDiscAdmTrans PriceDiscJourAdmTrans;
PricePriceDiscJournal_InventDim PriceDiscJourDim;
PriceDiscAdmTrans _PriceDiscAdmTrans;
//vikas
PriceDiscAdmTable priceDiscAdmTable;
PriceDiscAdmTrans PriceDiscAdmTrans;
PriceDiscAdmName PriceDiscAdmName;
PriceDiscJournalName pricediscjournalName;
NumberSeq journalNum;
//sales price upload//
str _relation,_accountcode,_accountselection,_itemcode,_temrelation,_unit,_curcode;
real _from,_amtincur;
date _todate,_fromdate;
PriceType _pricetype;
itemId tempItemId;
AviFiles
SysOperationProgress progress1 = new SysOperationProgress();
;
//excel
define.filename(fileName)
excel = SysExcelApplication::construct();
workbooks = excel.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();
type = cells.item(row+1, 1).value().variantType();
//progress1.setCaption("Updation of pricing master is in progress…");
//progress1.setAnimation(AviUpdate);
ttsBegin;
Select firstOnly PriceDiscAdmName;
priceDiscAdmTable.clear();
priceDiscAdmTable.initFromPriceDiscAdmName(PriceDiscAdmName);
journalNum = NumberSeq::newGetNum(SalesParameters::numRefPriceDiscJournalNum());
pricediscjournalName = journalNum.num();
priceDiscAdmTable.JournalNum = pricediscjournalName;
priceDiscAdmTable.insert();
while (type != COMVariantType::VT_EMPTY)
{
row++;
tempItemId = cells.item(Row,5).value().bStr();
// Set PriceDiscJourAdmTrans
while select forUpdate * from inventTable where inventTable.ItemId == tempItemId
{
// progress1.setText(strfmt("Item ID %1", tempItemId));
PriceDiscAdmTrans.clear();
PriceDiscAdmTrans.JournalNum = pricediscjournalName;
PriceDiscAdmTrans.relation = real2int(cells.item(Row,1).value().double()) ;//relation
PriceDiscAdmTrans.InventDimId = "Allblank";
PriceDiscAdmTrans.DisregardLeadTime = NoYes::Yes;
PriceDiscAdmTrans.AccountCode = real2int(cells.item(Row,2).value().double()) ; //account code
PriceDiscAdmTrans.AccountRelation = cells.item(Row,3).value().bStr(); //account relation
PriceDiscAdmTrans.ItemCode = real2int(cells.item(Row,4).value().double());
PriceDiscAdmTrans.ItemRelation = cells.item(Row,5).value().bStr(); //item realtaion item id
PriceDiscAdmTrans.QuantityAmountFrom= cells.item(Row,6).value().double(); //from quantity
PriceDiscAdmTrans.UnitId = cells.item(Row,7).value().bStr(); //unit id
PriceDiscAdmTrans.Amount = cells.item(Row,8).value().double(); //Amount in Curr
PriceDiscAdmTrans.Currency = cells.item(Row,9).value().bStr(); //currency code
PriceDiscAdmTrans.FromDate = cells.item(Row,10).value().date(); //from date
PriceDiscAdmTrans.ToDate = cells.item(Row,11).value().date(); //todate
PriceDiscAdmTrans.insert();
itemId=inventTable.ItemId;
}
type = cells.item(row+1, 1).value().variantType();
}
ttsCommit;
excel.quit();
}
main
public static void main(Args _args)
{
VIK_SalesMaster_ExcelImport VIK_SalesMaster_ExcelImport = new VIK_SalesMaster_ExcelImport();
if(VIK_SalesMaster_ExcelImport.prompt())
VIK_SalesMaster_ExcelImport.run();
}
No comments:
Post a Comment