Quantcast
Channel: Microsoft Dynamics AX Forum - Recent Threads
Viewing all articles
Browse latest Browse all 175888

While import salesline data through data entity need to create purchase order from sales order.

$
0
0

But this code is not working.

public static void postTargetProcess(DMFDefinitionGroupExecution _dmfDefinitionGroupExecution)
{
PurchCreateFromSalesOrder purchCreateFromSalesOrder;
PurchAutoCreate purchAutoCreate;
NumberSeq numberSeq;
TmpPurchLinePrice tplP;
VendAccount prevVendAccount;
InventTableModule inventTableMod;
SalesTable salesTable;
SalesLine salesLine;
PurchTable purchTable;
InventTable inventTable;
DirPartyTable party;
CustTable custTable;
IMPDAutoPOErrors autoPoErrors;
LineNum lineNumber = 0;
IMPDSalesLineStaging salesLineStaging;
NoYesId noyes;

DMFDefinitionGroupName definitionGroup = _dmfDefinitionGroupExecution.DefinitionGroup;
DMFExecutionId executionId = _dmfDefinitionGroupExecution.ExecutionId;
DMFEntityName entityName = _dmfDefinitionGroupExecution.Entity;
DMFDefinitionGroupExecution currentExecution;

if (_dmfDefinitionGroupExecution.StagingStatus == DMFBatchJobStatus::Finished)
{

ttsbegin;
while select salesLineStaging
where salesLineStaging.DefinitionGroup == _dmfDefinitionGroupExecution.DefinitionGroup
&& salesLineStaging.ExecutionId == _dmfDefinitionGroupExecution.ExecutionId
&& salesLineStaging.TransferStatus == DMFTransferStatus::Completed
{

while select SalesId from salesLineStaging
group by SalesId
where salesLineStaging.DefinitionGroup == definitionGroup
&& salesLineStaging.ExecutionId == executionId
{
salesTable = SalesTable::find(salesLineStaging.SalesId);

if(salesTable)
{

while select salesLine
order by inventTable.PrimaryVendorId
where salesLine.SalesId == salesTable.SalesId
join inventTable
where inventTable.ItemId == salesLine.ItemId
join inventTableMod
where inventTableMod.ItemId == inventTable.ItemId
{
if ( !inventTable.PrimaryVendorId)
{
numberSeq=NumberSeq::newGetNum(PurchParameters::numRefPurchId());
numberSeq.used();
purchTable.PurchId = numberSeq.num();



autoPoErrors.PurchaseOrder = purchTable.PurchId;
autoPoErrors.SalesOrder = salesLine.SalesId;
autoPoErrors.ItemNumber = salesLine.ItemId;
autoPoErrors.insert();
delete_from tplP;
lineNumber = 0;
}

salesTable = salesLine.salesTable();

tplP.clear();
lineNumber += 1;
tplP.SalesId = salesLine.SalesId;
tplP.LineNum = lineNumber;
tplP.SalesLineRefRecId = salesLine.RecId;
tplP.AccountNum = inventTable.PrimaryVendorId;

tplP.ItemId = salesLine.ItemId;
tplP.InventDimId = salesLine.InventDimId;

tplP.Included = NoYes::Yes;

tplP.PurchQty = salesLine.SalesQty;
tplP.QtyOrdered = salesLine.QtyOrdered;

tplP.PurchUnit = salesLine.SalesUnit;
tplP.LineAmount = salesLine.LineAmount;

tplP.LineDisc = salesLine.LineDisc;
tplP.LinePercent = salesLine.LinePercent;
tplP.MultiLineDisc = salesLine.MultiLnDisc;
tplP.MultiLinePercent = salesLine.MultiLnPercent;

//tplP.Price = salesLine.SalesPrice;
tplP.PriceUnit = salesLine.PriceUnit;
tplP.CurrencyCode = salesLine.CurrencyCode;

tplP.Markup = salesLine.SalesMarkup;

tplP.insert();

prevVendAccount = tplP.AccountNum;
noyes =inventTableMod.AutoCreatePurchaseOrder;

if (prevVendAccount && salesTable.SalesStatus == SalesStatus::Backorder )
{
purchAutoCreate = PurchAutoCreate::construct(tplP,PurchCreateFromSalesOrder);
purchAutoCreate.create();
delete_from tplP;


}
}
}


}
}
ttscommit;
}

}


Viewing all articles
Browse latest Browse all 175888

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>