Hey guys,
This is my code. I don't know what is wrong with my throw statement even if every input is right yet when I try to insert any data in my form it throws an error saying "Error creating contractor" but when I comment out the throw statement and run the code with and insert a new record it gets successfully added. Please tell me what is wrong in the code.
class TransformationAssociate
{
[DataEventHandler(tableStr(TransformationAssociates), DataEventType::Inserted)]
public static void TransformationAssociates_onInserted(Common sender, DataEventArgs e)
{
try
{
NumberSequenceReference numberSequenceReference = NumberSeqReference::findReference(extendedTypeNum(DirPartyNumber));
NumberSequenceTable numberSequenceTable = NumberSequenceTable::find(numberSequenceReference.NumberSequenceId);
SysLastValue sysLastValue;
DirPartyEntity d;
TransformationAssociates eda=sender;
HcmContractorEntity contractor;
//1. Create party record
ttsbegin;
d.Name=eda.FirstName+" "+eda.LastName;
if (numberSequenceReference && numberSequenceTable)
{
if (!numberSequenceTable.Manual)
{
NumberSeq numberSeq = NumberSeq::newGetNumFromId(numberSequenceTable.RecId,
true,
true,
sysLastValue,
false);
if (numberSeq)
{
d.PartyNumber = numberSeq.num();
}
}
}
d.PartyType="Person";
d.insert();
//create contractor
contractor.PersonnelNumber = d.PartyNumber;
contractor.EmploymentLegalEntityId ="USMF";
contractor.EmploymentStartDate = eda.StartDate;
//contractor.CalendarId ="Flex";
contractor.FirstName = eda.FirstName;
contractor.KnownAs = eda.FirstName;
contractor.LanguageId = "en-US";
contractor.LastName = eda.LastName;
contractor.NameSequenceDisplayAs = "FirstLast";
contractor.PartyNumber = d.PartyNumber;
contractor.PrimaryContactEmail=eda.Email;
contractor.ProfessionalTitle = "Associate";
contractor.StartDate = eda.StartDate;
contractor.insert();
HcmPosition position;
NumberSequenceReference numberSequenceReferencePosition = NumberSeqReference::findReference(extendedTypeNum(HcmPositionId));
NumberSequenceTable numberSequenceTablePosition = NumberSequenceTable::find(numberSequenceReferencePosition.NumberSequenceId);
HcmPositionId positionId;
if (numberSequenceReferencePosition && numberSequenceTablePosition)
{
if (!numberSequenceTablePosition.Manual)
{
// generate ID if number sequence is not set to Manual.
NumberSeq numberSeqPosition = NumberSeq::newGetNumFromId(
numberSequenceTablePosition.RecId,
true,
true,
sysLastValue,
false);
if (numberSeqPosition)
{
positionId = numberSeqPosition.num();
}
}
}
position.Activation=eda.StartDate;
position.AvailableForAssignment=eda.StartDate;
position.CompensationRegionId="Central";
position.DepartmentNumber="014";
position.Description="Associate";
position.TitleId="Account Manager";
position.WorkerPersonnelNumber=d.PartyNumber;
position.WorkerAssignmentStart=eda.StartDate;
position.insert();
throw Global :: error("Error creating contractor");
ttscommit;
Info("Associate created successfully");
}
catch (exception::Error) {
info("Associate not created ");
}
}
}