I have a problem on this, i need to populate the product number on EcoResproductCreate form automatically, upon clicking new button.

///
///
///
///
[PreHandlerFor(formStr(EcoResProductCreate), formMethodStr(EcoResProductCreate, init))]
public static void EcoResProductCreate_Pre_init(XppPrePostArgs args)
{
str Chem;
str Tin;
str dimensionwork;
//table
EcoResProduct EcoResProduct;
//objects
tccpEventscenario6 tccpEventscenario6 = new tccpEventscenario6();
EcoResProductNumberBuilder EcoResProductNumberBuilder = new EcoResProductNumberBuilder();
//number seq for chemical
Chem = tccpEventscenario6.chemicalSequence();
//number seq for chemical
Tin = tccpEventscenario6.tinCanSequence();
dimensionwork = tccpEventscenario6.getWorkerFinDimension();
if (dimensionwork == '069')
{
//Chemical
//number seq for chemical
Chem = tccpEventscenario6.chemicalSequence();
info(Chem);
EcoResProductNumberBuilder.parmProductNumber(Tin);
EcoResProduct.DisplayProductNumber = Tin;
}
else if (dimensionwork == '202')
{
//TinCan
//number seq for chemical
Tin = tccpEventscenario6.tinCanSequence();
info(Tin);
EcoResProductNumberBuilder.parmProductNumber(Tin);
EcoResProduct.DisplayProductNumber = Tin;
}
}
public str chemicalSequence()
{
NumberSeq numSeq;
tccpChemicalPaint id;
ttsbegin;
numSeq = NumberSeq::newGetNum(tccpNumSeqClass::tccpChemicalPaint());
id = numSeq.num();
ttscommit;
return id;
}
public str tinCanSequence()
{
NumberSeq numSeq;
tccpTinCan id2;
ttsbegin;
numSeq = NumberSeq::newGetNum(tccpNumSeqClass_1::tccpTinCan());
id2 = numSeq.num();
ttscommit;
return id2;
}
public str getWorkerFinDimension()
{
HcmEmployment hcmEmployment;
DimensionAttributeValueSetItem setItem;
DimensionAttributeValue dimAttrValue;
DimensionAttribute dimAttribute;
;
dimAttribute = DimensionAttribute::findByName('BusinessUnit');
ttsbegin;
select firstonly * from hcmEmployment
where hcmEmployment.Worker == HcmWorkerLookup::currentWorker()
join RecId, DisplayValue from setItem where setItem.DimensionAttributeValueSet == hcmEmployment.DefaultDimension join dimAttrValue
where dimAttrValue.RecId == setItem.DimensionAttributeValue && dimAttrValue.DimensionAttribute == dimAttribute.RecId && dimAttrValue.IsDeleted == false;
// info(strFmt("Employee = %1 %2 = %3 ",HcmWorker::find(hcmEmployment.Worker).PersonnelNumber, dimAttribute.Name, setItem.DisplayValue));
ttscommit;
return setItem.DisplayValue;
}