Job to reset the price of return orders with price in Ax 2009
Job to reset the price of return orders with price in Ax 2009.
boolean updateprice = true;
SalesTable salesHeader;
SalesLine saleLine, saleLineUpdate;
DataArea dataArea ;
TextIo file;
FileName filename = @"c:\temp\RMAWithPriceList.txt";
FileIoPermission permission;
#File
;
try
{
// Create the permission class
permission = new FileIoPermission(filename, #io_write);
// Add a request for permission before new TextIo()
permission.assert();
// Create the TextIo object
file = new TextIo(filename, #io_write);
if (!file)
throw Exception::Error;
// Specify the delimiters
file.outRecordDelimiter(#delimiterCRLF);
file.outFieldDelimiter(";");
file.write("Company","SalesId","SalesLineNum","UnitPrice","NetAmount","SalesStatus","Error");
while select dataArea
order by Id desc
where dataArea.isVirtual == NoYes::No
{
changeCompany(dataArea.Id)
{
salesHeader = null;
saleLine = null;
saleLineUpdate = null;
while select * from saleLine
where (saleLine.LineAmount != 0 || saleLine.SalesPrice != 0)
join SalesId, SalesStatus from salesHeader
where salesHeader.SalesId == saleLine.SalesId
&& salesHeader.SalesType == SalesType::ReturnItem
&& (salesHeader.SalesStatus == SalesStatus::Backorder ||
salesHeader.SalesStatus == SalesStatus::Delivered )
&& salesHeader.ReturnStatus != ReturnStatusHeader::Canceled
&& salesHeader.ReturnStatus != ReturnStatusHeader::Created
{
try
{
if (updateprice)
{
ttsbegin;
saleLineUpdate = SalesLine::findRecId(saleLine.RecId, true);
saleLineUpdate.PriceUnit = 0;
saleLineUpdate.SalesPrice = 0;
saleLineUpdate.LineAmount = 0;
saleLineUpdate.update();
ttsCommit;
}
// Write the data to the file
file.write(dataArea.Id, salesHeader.Salesid, saleLine.LineNum, saleLine.PriceUnit, saleLine.LineAmount, enum2str(salesHeader.SalesStatus), 0);
}
catch
{
// Write the data to the file
file.write(dataArea.Id, salesHeader.Salesid, saleLine.LineNum, saleLine.PriceUnit, saleLine.LineAmount, enum2str(salesHeader.SalesStatus), 1);
continue;
}
}
}
}
}
catch(Exception::Error)
{
error("You do not have access to write the file to the selected folder");
}
// Revert the access privileges
CodeAccessPermission::revertAssert();
info("Execution completed");
boolean updateprice = true;
SalesTable salesHeader;
SalesLine saleLine, saleLineUpdate;
DataArea dataArea ;
TextIo file;
FileName filename = @"c:\temp\RMAWithPriceList.txt";
FileIoPermission permission;
#File
;
try
{
// Create the permission class
permission = new FileIoPermission(filename, #io_write);
// Add a request for permission before new TextIo()
permission.assert();
// Create the TextIo object
file = new TextIo(filename, #io_write);
if (!file)
throw Exception::Error;
// Specify the delimiters
file.outRecordDelimiter(#delimiterCRLF);
file.outFieldDelimiter(";");
file.write("Company","SalesId","SalesLineNum","UnitPrice","NetAmount","SalesStatus","Error");
while select dataArea
order by Id desc
where dataArea.isVirtual == NoYes::No
{
changeCompany(dataArea.Id)
{
salesHeader = null;
saleLine = null;
saleLineUpdate = null;
while select * from saleLine
where (saleLine.LineAmount != 0 || saleLine.SalesPrice != 0)
join SalesId, SalesStatus from salesHeader
where salesHeader.SalesId == saleLine.SalesId
&& salesHeader.SalesType == SalesType::ReturnItem
&& (salesHeader.SalesStatus == SalesStatus::Backorder ||
salesHeader.SalesStatus == SalesStatus::Delivered )
&& salesHeader.ReturnStatus != ReturnStatusHeader::Canceled
&& salesHeader.ReturnStatus != ReturnStatusHeader::Created
{
try
{
if (updateprice)
{
ttsbegin;
saleLineUpdate = SalesLine::findRecId(saleLine.RecId, true);
saleLineUpdate.PriceUnit = 0;
saleLineUpdate.SalesPrice = 0;
saleLineUpdate.LineAmount = 0;
saleLineUpdate.update();
ttsCommit;
}
// Write the data to the file
file.write(dataArea.Id, salesHeader.Salesid, saleLine.LineNum, saleLine.PriceUnit, saleLine.LineAmount, enum2str(salesHeader.SalesStatus), 0);
}
catch
{
// Write the data to the file
file.write(dataArea.Id, salesHeader.Salesid, saleLine.LineNum, saleLine.PriceUnit, saleLine.LineAmount, enum2str(salesHeader.SalesStatus), 1);
continue;
}
}
}
}
}
catch(Exception::Error)
{
error("You do not have access to write the file to the selected folder");
}
// Revert the access privileges
CodeAccessPermission::revertAssert();
info("Execution completed");
Comments
Post a Comment