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;
}
}
}
Ref: - https://www.cloudfronts.com/change-planned-purchase-order-status-as-draft-insted-of-default-approved/