Override the form datasource delete method write .logic in that method it will also workfor table delete method also.
public void delete()
{
NumberSequenceTable numSeqTable;
ProjOnAccTransId ProjOnAccTransId;
ProjOnAccTransId = ProjOnAccTrans.TransId;
numSeqTable = NumberSequenceTable::find(projparameters::numRefProjTransIdBase().NumberSequenceId);
super();
if (numSeqTable.Continuous)
{
numSeqTable = NumberSequenceTable::find(projparameters::numRefProjTransIdBase().NumberSequenceId);
NumberSeq::release(numSeqTable.NumberSequence, ProjOnAccTransId);
}
else
{
if (NumberSeq::numInsertFormat(numSeqTable.NextRec - 1, numSeqTable.Format) == ProjOnAccTransId)
{
ttsbegin;
numSeqTable = NumberSequenceTable::find(projparameters::numRefProjTransIdBase().NumberSequenceId, true);
numSeqTable.NextRec--;
numSeqTable.doUpdate();
ttscommit;
}
}
}
Unsaved Record also regenerated by overriding the form method close and call the datasource delete method
public void close()
{
if( ProjOnAccTrans.TransId && !ProjOnAccTrans.recid)
ProjOnAccTrans_ds.delete();
super();
}
public void delete()
{
NumberSequenceTable numSeqTable;
ProjOnAccTransId ProjOnAccTransId;
ProjOnAccTransId = ProjOnAccTrans.TransId;
numSeqTable = NumberSequenceTable::find(projparameters::numRefProjTransIdBase().NumberSequenceId);
super();
if (numSeqTable.Continuous)
{
numSeqTable = NumberSequenceTable::find(projparameters::numRefProjTransIdBase().NumberSequenceId);
NumberSeq::release(numSeqTable.NumberSequence, ProjOnAccTransId);
}
else
{
if (NumberSeq::numInsertFormat(numSeqTable.NextRec - 1, numSeqTable.Format) == ProjOnAccTransId)
{
ttsbegin;
numSeqTable = NumberSequenceTable::find(projparameters::numRefProjTransIdBase().NumberSequenceId, true);
numSeqTable.NextRec--;
numSeqTable.doUpdate();
ttscommit;
}
}
}
Unsaved Record also regenerated by overriding the form method close and call the datasource delete method
public void close()
{
if( ProjOnAccTrans.TransId && !ProjOnAccTrans.recid)
ProjOnAccTrans_ds.delete();
super();
}
No comments:
Post a Comment