RSS

Invent Movement Journal Creation and Posting

20 Jun

static void MovementJournalImportExcel(Args _args)
{
 InventJournalTrans inventJournalTrans;
 InventDim inventDim;
 InventJournalTable inventJournalTable;
 InventJournalCheckPost journalCheckPost;
 InventJournalId journalId;
 journalTableData journalTabledata;
 InventBatch inventBatch;
 InventBatch localInventBatch;
 NumberSeq numberSeq;
 NumberSequenceReference numberSequenceReference;
 InventSerial inventSerial;
 InventSerial localinventSerial;
 int j,countno=0,i,k;
 real Scarp;
 FilenameOpen filename;

 Sysexcelapplication excelapp=sysexcelapplication::construct();
 sysexcelworksheet excelworksheet;
 sysexcelrange excelrange;
 sysexcelcells excelcells;
 // comvariant cellvalue=new comvariant();
 ;

 // Creating Journal Header
 inventJournaltable.initValue();
 inventJournalTable.JournalNameId = 'ERecover';
 numberSeq = new NumberSeq();
 numberSequenceReference = InventParameters::numRefInventJournalId();
 numberseq = NumberSeq::newGetNum(numberSequenceReference);

 inventJournalTable.JournalId = numberseq.num();
 inventJournalTable.Description = InventJournalName::find(inventJournalTable.JournalNameId).Description;
 inventJournalTable.insert();

 excelapp.workbooks().open('C:\xx.xls');
 excelworksheet=excelapp.worksheets().itemFromNum(1);
 excelcells=excelworksheet.cells();

 // Creating Unit Numbers
 for(i=301;i<=5600;i++)
 {
 inventBatch.clear();
 inventBatch.initValue();
 inventBatch.itemId = excelcells.item(i,11).value().bStr();
 inventBatch.inventBatchId = excelcells.item(i,1).value().bStr();
 localinventBatch = InventBatch::find(inventBatch.inventBatchId,inventBatch.itemId);

 if(!localinventBatch)
 {
 inventBatch.OakSerialUnit = excelcells.item(i,2).value().bStr();
 inventBatch.insert();
 }
 }

 //Creating Appartment Numbers
 for(k=1;k<=648;k++)
 {
 inventSerial.clear();
 inventSerial.initValue();
 inventSerial.InventSerialId = excelcells.item(k,8).value().bStr();
 inventSerial.ItemId = excelcells.item(k,11).value().bStr();
 localinventSerial = InventSerial::find(inventSerial.InventSerialId,inventSerial.ItemId);

 if(!localInventSerial)
 {
 inventSerial.ProdDate = systemDateGet();
 inventSerial.insert();
 }
 }

 // Creating Journal Lines
 for(j=301;j<=5600;j++)
 {
 inventJournalTrans.clear();
 inventJournalTrans.initValue();
 inventJournalTrans.TransDate = systemDateGet();
 inventJournalTrans.LedgerAccountIdOffset = "99999";
 inventJournalTrans.JournalType = InventJournalType::Movement;
 inventJournalTrans.JournalId = inventJournalTable.JournalId;
 numberSeq = new NumberSeq();
 numberSequenceReference = InventParameters::numRefInventJournalVoucherId();
 numberseq = NumberSeq::newGetNum(numberSequenceReference);

 inventJournalTrans.Voucher = numberseq.num();
 inventJournalTrans.ItemId = excelcells.item(j,11).value().bStr();
 // defaulting branch and item name
 inventJournalTrans.CostAmount = InventTable::find(inventJournalTrans.ItemId).inventTableModuleInvent().Price;
 inventJournalTable = InventJournalTable::find(inventJournalTrans.JournalId);
 inventDim.InventLocationId = excelcells.item(j,10).value().bStr();
 inventDim.inventBatchId = excelcells.item(j,1).value().bStr();
 inventDim.inventSerialId = excelcells.item(j,8).value().bStr();
 inventJournalTrans.InventDimId = inventDim::findOrCreate(inventDim).inventDimId;
 inventJournalTrans.Qty = 1;
 inventJournalTrans.AdjustmentNotes = "Initial Data Load";
 inventJournalTrans.LineNum = j;

 inventJournalTrans.insert();
 }

 excelapp.workbooks().item(1).saved(true);
 excelapp.workbooks().close();

 // Posting Journal
 journalTableData = JournalTableData::newTable(inventJournalTable);
 journalTableData.updateBlock(JournalBlockLevel::InUse,JournalBlockLevel::None);
 if (!infolog.num(Exception::Error))
 {
 infolog.clear(0);
 journalCheckPost =
 InventjournalCheckPost::newJournalCheckPost(JournalCheckPostType::Post,InventJournalTable);
 journalCheckPost.parmAutoBlock(true);
 journalCheckPost.run();
 }
 }
 
Leave a comment

Posted by on June 20, 2012 in X++

 

Tags:

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

 
365 by Thijs

Blogging about Microsoft 365, Azure and Automation!

axhowto

Blog about ax with sample codes, tips and tricks.

GM Dynamics Blogs

Transform IT with Digital Trasformation and Social Innovation

Ms. Dynamic Millennial

Unboxing Microsoft Dynamics 365 for Finance and Operations

DynaD365Power

Exploring the new vision of the Power platform

Dynamics Vision 365

The FinOps pulse

Breaking Bong

I write when no one is watching

ErpCoder

Microsoft Dynamics 365 Business Management Solution Enthusiast

Dynamics 365 Finance

Dynamics 365 Finance & Much More.

Microsoft Dynamics AX

“ANYONE WHO STOPS LEARNING IS OLD, WHETHER AT TWENTY OR EIGHTY.” —HENRY FORD

Sumit Potbhare

Dynamics 365 for Commerce

iotsolution.se

This is your site about D365 (Finance and Supply Chain Management), IoT (Internet of Things) and HoloLens

Omni 365

Dynamics 365 Finance and Operations Blog

DIY D365

Power Platform Done Your Way

%d bloggers like this: