How Create Route Version in Dynamics Ax 2009(Code with error)

Hi EveryOne,

I am sending route Version code.If some one having Knowledge i can get Work center bvalue in ProdRoute

static void Job90(Args _args)
{
RouteId fromId,newId;
InventSiteId siteId;
InventDim inventDim;
RouteVersion routeVersion,routeVersionNew;
InventTable inventTable;
ProdRoute prodRoute,newRoute;
Route route,newRo;
RouteTable routeTable;
RouteOpr routeOpr;
RouteOprTable rot;
ItemId itemId;
ConfigId configId;
RouteId routeId;
NumberSeq ns;

;

Select routeVersion where routeVersion.ItemId == “1109” &&(routeVersion.Approved == Noyes::Yes && routeVersion.Active == Noyes::Yes) ;
if (routeVersion)
{
fromId = routeVersion.RouteId;
newId = fromId + “/1” ;
itemId = routeVersion.ItemId;
routeVersion.inventDim();
configId = configId;
siteId = routeVersion.inventSiteId();
routeVersionNew.clear();
routeVersionNew.initValue();
routeVersionNew.data(routeVersion);
routeVersionNew.Approved = false;
routeVersionNew.Active = false;
routeVersionNew.ApprovedBy = “”;
routeVersionNew.RouteId = newId;
routeVersionNew.insert();

while select route where route.RouteId == fromId
{
select routeOpr
where routeOpr.OprId == route.OprId &&
((routeOpr.RouteCode == RouteAll::Route &&
routeOpr.RouteRelation == route.RouteId) ||
routeOpr.RouteCode == RouteAll::All);

routeOpr = route.routeOpr(itemId,configId,routeOpr,siteId);

select prodRoute where prodRoute.OprId == routeOpr.OprId;

newRoute.clear();
newRoute.initValue();

newRoute.data(prodRoute);
newRoute.WrkCtrId = prodRoute::findFirst(prodRoute.ProdId).WrkCtrId;
prodRoute.ProdId = route.RouteId;

newRoute.ProdId = newId;

newRoute.initFromWrkCtrTable(WrkCtrtable::find(routeOpr.WrkCtrId));
newRoute.initDimensionWrkCtrTable();

if(!newRoute.validateWrite())
{
newRoute.insert();
}
newRo.clear();
newRo.initValue();
newRo.RecId = 0;
newRo.RouteId = routeVersionNew.RouteId;
newRo.OprId = prodRoute.OprId ;
newRo.OprNum = newRoute.OprNum;

if(!newRoute.validateWrite())
{
newRo.insert();
}

ttsbegin;
while select newRo where newRo.RouteId == routeVersionNew.RouteId
{
select forupdate prodRoute where prodRoute.ProdId == newRoute.ProdId;
prodRoute.data(newRoute);

prodRoute.WrkCtrId = newRoute.WrkCtrId ;
prodRoute.update();
}
ttscommit;
}

}
}

Regards

Arun