Submit for approval

Hi,

who can help with script. I have a task to modify employee burden hrs on specific action, I wrote script which recalls labordtl and updates burden hrs, this part works, but when I call submit for approval it does nothing, labor stays not submitted in time and expense entry. When I remove SubmitForApproval() and add update() instead then it works

						LaborAdapter laEnd  = new LaborAdapter(oTrans);
							laEnd.BOConnect();
							string cMessageText;

							bool LaborDataSet;
							LaborDataSet = laEnd.GetDetail((int)end["LaborHeadSeq"],(int)end["LaborDtlSeq"]);
							laEnd.LaborData.LaborDtl[0].TimeStatus= "E";
							laEnd.LaborData.LaborDtl[0].RowMod= "U";
							laEnd.RecallFromApproval(LaborDataSet,out  cMessageText);
							laEnd.LaborData.LaborDtl[0].BurdenHrs= 4;
							laEnd.LaborData.LaborDtl[0].RowMod= "U";
							laEnd.Update();
							laEnd.ValidateChargeRateForTimeType(out  vMessage);
							laEnd.LaborData.LaborDtl[0].TimeStatus= "A";
							laEnd.LaborData.LaborDtl[0].RowMod= "U";
							//laEnd.Update();
							laEnd.SubmitForApproval(LaborDataSet, out cMessageText);
							laEnd.Dispose();

Found, this works:

LaborAdapter laEnd  = new LaborAdapter(oTrans);
							laEnd.BOConnect();
							string cMessageText;

							bool LaborDataSet;
							LaborDataSet = laEnd.GetDetail((int)end["LaborHeadSeq"],(int)end["LaborDtlSeq"]);
							laEnd.LaborData.LaborDtl[0].TimeStatus= "E";
							laEnd.LaborData.LaborDtl[0].RowMod= "U";
							laEnd.RecallFromApproval(LaborDataSet,out  cMessageText);
							laEnd.LaborData.LaborDtl[0].BurdenHrs= 4;
							laEnd.LaborData.LaborDtl[0].RowMod= "U";
							laEnd.Update();
                            laEnd.LaborData.LaborDtl[0].RowMod= "U";
							laEnd.ValidateChargeRateForTimeType(out  vMessage);
							//laEnd.Update();
							laEnd.SubmitForApproval(false, out cMessageText);
							laEnd.Dispose();