Change planned purchase order status as draft insted of default approved
When we create purchase order using planned order its default approval status will be approved as displayed in screenshot.
To change that status to draft write following code where we will change its status to draft and further code to is to remove version of purchase order which necessary to make delete button enabled on purchase order form
code:-
/// <summary>
/// extension of class: ReqTransPoMarkFirm
/// </summary>
[ExtensionOf(classStr(ReqTransPoMarkFirm))]
final class ReqTransPoMarkFirmCFSClass_Extension
{
public container conPurchOrders;
/// <summary>
/// updatePurchTable
/// </summary>
/// <param name = “_purchTable”>_purchTable</param>
protected void updatePurchTable(PurchTable _purchTable)
{
conPurchOrders += _purchTable.PurchId;
next updatePurchTable(_purchTable);
}
/// <summary>
/// purchTablePostProcessing
/// </summary>
protected void purchTablePostProcessing()
{
next purchTablePostProcessing();
for (int i = 1; i <= conLen(conPurchOrders); i++)
{
PurchTable purchTable = PurchTable::find(conPeek(conPurchOrders, i), true);
if(purchTable.RecId)
{
ttsbegin;
//delete the version created for po
PurchTableVersion purchTableVersion = PurchTableVersion::findLatest(purchTable.PurchId, purchTable.DataAreaId, true);
if(purchTableVersion.RecId)
{
purchTableVersion.delete();
}
purchTable.ChangeRequestRequired = NoYes::No;
purchTable.DocumentState = VersioningDocumentState::Draft;
purchTable.update();
ttscommit;
}
}
}
}
To change that status to draft write following code where we will change its status to draft and further code to is to remove version of purchase order which necessary to make delete button enabled on purchase order form
code:-
/// <summary>
/// extension of class: ReqTransPoMarkFirm
/// </summary>
[ExtensionOf(classStr(ReqTransPoMarkFirm))]
final class ReqTransPoMarkFirmCFSClass_Extension
{
public container conPurchOrders;
/// <summary>
/// updatePurchTable
/// </summary>
/// <param name = “_purchTable”>_purchTable</param>
protected void updatePurchTable(PurchTable _purchTable)
{
conPurchOrders += _purchTable.PurchId;
next updatePurchTable(_purchTable);
}
/// <summary>
/// purchTablePostProcessing
/// </summary>
protected void purchTablePostProcessing()
{
next purchTablePostProcessing();
for (int i = 1; i <= conLen(conPurchOrders); i++)
{
PurchTable purchTable = PurchTable::find(conPeek(conPurchOrders, i), true);
if(purchTable.RecId)
{
ttsbegin;
//delete the version created for po
PurchTableVersion purchTableVersion = PurchTableVersion::findLatest(purchTable.PurchId, purchTable.DataAreaId, true);
if(purchTableVersion.RecId)
{
purchTableVersion.delete();
}
purchTable.ChangeRequestRequired = NoYes::No;
purchTable.DocumentState = VersioningDocumentState::Draft;
purchTable.update();
ttscommit;
}
}
}
}
I hope this will helo you,thank you
Related posts:
From Client Secrets to Certificate-Based Authentication: Building a Secure Integration with Azure Ke...

From Multiple Data Sources to Azure Databricks: A Zero-Downtime Power BI Report Data Migration for F...
Using AI for Data Discipline That Drives Better AI Outcomes


