Hi there, Recently I knew up with a problem in which one of my friends generated the wrong number sequence for this customization and now he had to remove it. I checked the scenario functionally if there is an option available for deleting the newly created number sequence as a whole because it was Globally generated and was not legal entity-specific. But alas I didn't get any way out except we generated a new number sequence.
But we can solve this problem easily using technical skills. You need to create a job that deletes the number sequence with all its reference from other tables as well. Below is the code for it.
public class AA_RemoveNumSeqJob
{
/// <summary>
/// Runs the class with the specified arguments.
/// </summary>
/// <param name = "_args">The specified arguments.</param>
public static void main(Args _args)
{
AA_RemoveNumSeqJob::DeleteNumSeqWithEDT(extendedTypeNum(AALoadId));
info("Number sequence deleted");
}
public static void DeleteNumSeqWithEDT(ExtendedTypeId _dataTypeId )
{
_dataTypeId = extendedTypeNum(AALoadId); // EDT USED
NumberSequenceDatatype numSeqDT;
NumberSequenceReference numSeqRef;
select forUpdate numSeqDT where
numSeqDT.DatatypeId == _dataTypeId; // EDT Id
delete_from numSeqRef where
numSeqRef.NumberSequenceDatatype == numSeqDT.RecId;
ttsBegin;
numSeqDT.delete();
ttsCommit;
info( strFmt("Relation with EDT: %1 is removed.", numSeqDT.DatatypeId) );
}
}Happy Learning
Comments
Post a Comment