我正在尝试将多条线从路线Table: Route
复制到工作订单的路线Table: ProdRoute
我正在尝试以下代码,但无效:
static void CopyRoute(Args _args)
{
ProdRoute prodRoute;
Route route;
ProdTable prodTable;
;
ttsBegin;
INSERT_RECORDSET prodRoute
(
OprNum,
OprPriority,
OprId,
OprNumNext
)
Select
OprNum,
OprPriority,
OprId,
OprNumNext
from
route
join prodTable
where prodRoute.ProdId == prodTable.ProdId &&
prodTable.RouteId == route.RouteId;
ttsCommit;
info("Copy finished!");
}
这是路线本身:
我想将红线之间的数据复制到工作顺序的路线中:
正如你在我的工作中所看到的那样,这是行不通的,我想加入ProdTable
本身,基于RouteId
上的ProdTable
来实现这一点,我想要从Route复制行(与RouteId
匹配)。然后将此数据填入Works Order的ProdRoute
表。
我不确定采取什么步骤,所以我可以做到这一点。
答案 0 :(得分:3)
路由周围的数据结构太复杂,无法通过单个insert_recordset
语句实现您想要的功能。首先,您应该查看路由的数据结构,特别是表RouteTable
,RouteVersion
,Route
和RouteOpr
以及它们之间的关系。对我而言,最让人大开眼界的是当我意识到路线的行没有保存在一个表Route
中时,但数据是在表Route
和RouteOpr
之间分配的那一个{ {1}}记录可以与多个RouteOpr
记录相关联。
在您对数据结构有所了解之后,我建议您查看类Route
及其方法ProdUpdCostEstimation
,其中显示了标准功能如何从路径创建生产路径的一个示例。 / p>