I am creating sales order Via x++.
The header and the line(s) are created successfully, But the sales line status is auto set Cancelled (Once there is a quantity on the sales line).
salesLine.clear();
salesLine.initValue();
salesLine.SalesId = salesTable.SalesId;
salesLine.initFromSalesTable(salesTable);
salesLine.CustomerLineNum = 1;
salesLine.LineNum = 1;
salesLine.modifiedFieldValue(fieldstr(salesLine,LineNum));
salesLine.SalesUnit = pmgParameters.SalesUnit;
salesLine.SalesCategory = pmgparameters.CapacitySalesCategory;
salesLine.initFromItemOrCategory("",salesLine.SalesCategory,EcoResCategory::find(pmgparameters.CapacitySalesCategory).Name);
salesLine.modifiedFieldValue(fieldstr(salesLine,SalesCategory));
salesLine.PmgCapacity = pMGMSRTable.DigitalTotal;
salesLine.PmgConstraintCapacity = pmgMonthlyGeneratorTransLine.TotalConstraint;
salesLine.PmgLessShiroro = - pMGMSRTable.SGRTotal / pmgParameters.ShiroroFactor;
salesLine.PmgNetCapacity = salesLine.PmgCapacity + salesLine.PmgConstraintCapacity + salesLine.PmgLessShiroro;
salesLine.SalesQty = salesLine.PmgNetCapacity;
salesLine.PmgCapacityTariff = pmgTariffCodes.ApplicableCapitalRecoveryRate + pmgTariffCodes.ApplicableFixedOMRate;
salesLine.SalesPrice = salesLine.PmgCapacityTariff;
salesLine.LineAmount = salesLine.SalesQty * salesLine.SalesPrice;
salesLine.SalesStatus = SalesStatus::Backorder;
salesLine.Name = strFmt("Capacity for the month of %1",PMGMonthlyDigitalReadingTable.PMGMonth);
salesLine.insert();
if(!salesLine.validateWrite())
{
throw exception::Error;
}